--
--  NISHAN-MGT.MIB
--
--   Nishan Management MIB
--
--   This MIB contains management objects for Nishan Storage over IP devices.
--   Most of this MIB is supported on all Nishan products. The nishanFCswChassis
--   and nishanLinkAggr sections, marked below, are not supported on IPS Series 1000
--   and IPS Series 2000 switches.
--
--   Version 1.0
--
--  Revision history:
--
--  4/20/01: P1 and Titan objects added so this MIB can be used to manage all Nishan products.
--
--  4/25/01: added comments to indicate fcswALPortMappingTable and fcswSNSUnicastCfgTable
--  are not yet implemented.
--
--  5/17/01: added comments to the Card Table.PartNumber description
--
--  5/22/01: added SNS version info (fcswSNSrevInfo), Zoneset info (fcswSNSzsInfo),
--  and TCP Port support (fcswTCPPortTable, fcswPortSupportsTCP, new port types)
--
--  6/2/01: added DURABLE clause for above objects to be saved to falsh
--  6/7/01: changed rnage of fcswSNSzstTable to 1 to 64.
--
--  6/12/01: added logMsgUsedSpace
--
--  6/13/01: added range to logMsgUsedSpace to fix smicng warning
--
--  7/16/01: added new enumerated values to fcswPortType.
--
--  8/14/01: added flashImageOnNextReset
--
--  9/14/01: added omniPort value to fcswNsPortType and elaborated its definition
--
--  9/27/01: added fcswTCPAutoReset and fcswTCPResetNow
--
--  11/14/01: added fcswTCPOptions
--
--  01/28/02: added fcswEportSwitchInterconnect (implemented since 9/25/01)
--
--  02/21/02: added updated fcswTCPOptions with compression levels and flow-control.
--
--  03/01/02: added lport (private loop port) to the port type tables.
--
--  03/07/02: added fcswTCPCompressionStatsTable for the TCP Port compression stats.
--
--  03/13/02: changed description of the compression types in fcswTCPOptions.
--
--  03/15/02: updated fcswTCPOptions to enable jumboframes bit.
--
--  03/19/02: added systemOptions
--
--  04/12/02: updated fcswTCPCompressionStatsTable entries descriptions.
--
--  04/19/02: Added nishanfcswSnsLuns for LUN Mapping/Masking
--
--  04/26/02: Added fcswSNSLunMapping variable to enable/disable LUN Mapping/Masking.
--
--  05/07/02: Corrected SMICNG warnings and errors
--
--  05/13/02: Added Eport AggregateId
--
--  06/14/02: Added fcswTCPMaxMtuSize to configure the MTU size per TCP port
--
--  06/25/02: Moved variables/tables under nishanfcswSnsLuns to nishanFCsw branch
--
--  06/26/02: updated fcswTCPOptions to support MTU size configurations
--
--  07/01/02: added fcswLunNumber to fcswLunInfoTable table to denote the 2 byte
--            physical LUN number.  changed fcswPLunNumber to fcswPLunIndex in the
--            fcswLunMappingTable to indicate the sequential lun index.
--
--  07/30/02: fixed case error in fcswEportAllowFcPortZoning.
--
--  09/04/02: Updated fcswTCPOptions description for AutoFastWrite bit
--
--  10/04/02: Updated comment strings for LUNInfo table to have "=" instead of "-".
--            To compile our mibs into HP NNM correctly, we recommend using "=" in
--            the comment strings. Apparently, if you have "-", in the comments,
--            then they should be even in number, so NNM can treat a pair of "-" as comment.
--
--  10/28/02: Added fcswEPortZoneSetActionStatus to return the status codes for the
--            e-port zone set action.  Added fcswEPortSoIPZoneCleanup to remove
--            any appended zones.  Changed fcswEPortMakeSoIPActive mib variable name
--            to fcswEPortSoIPZoneSetPolicy so that the name is consistent with the
--            action it does.  Added fcswEPortNeighborEDTOV and fcswEPortNeighborRATOV
--            variables to get the connected FC neighbor's timeout values.
--
--  10/29/02: Added fcswZoneBurstLimit and fcswZoneNormalLimit for bandwidth manager
--            support.  Added fcswZoneType for iSNS support.
--
--  11/20/02: Provided more descriptions for the bits used in the
--             fcswEPortZoneSetActionStatus variable
--            Added description to delete or invalidate a LUN MAP.
--            Changed Burst Limit and Normal limit ranges.
--
--  11/26/02: Added fcswTCPStorageStatsTable to show storage statistics for the TCP ports.
--            Added fcswTCPSessionsTable to list all the sessions for a TCP port.
--            Added fcswTCPSessionStatsTable to show storage statistics for the TCP sessions.
--
--  12/05/02: Added fcswNsFc4Features in the fcswNsPortTable to capture the FC4 feature bits
--            as defined in FC-GS-3.
--
--  12/23/02: Added fcswTCPiSCSIOptions, fcswTCPiSCSIFirstBurstLength,
--            fcswTCPiSCSIMaxBurstLength, fcswTCPiSCSIMaxRecvDataSegmentLength
--            variables to configure iSCSI options per TCP port
--
--  1/18/03: Merged changes from Dragon. Change fcswEthernetPortSpeed to
--           fcswPortConfiguredSpeed and add support for 10G Ethernet, 2G FC.
--           Add fcswPortActualSpeed to determine the actual port speed when the
--           port speed is configured to auto.
--
--           Added mgtPortReset mib variable to reset the mgmt port after changing the
--           IP address.  Aded comments to explain which of the variables are reserved
--           for future use.
--
--  1/20/03: Added fast ethernet enumerations to the fcswPortType; add twoxutpgbic enumeration
--           to the fcswCardType.
--
--  1/22/03: Changed fcswPortConfiguredSpeed range syntax to be acceptable to SMICNG.
--
--  1/23/03: Reserve fcswPortType enumerations for later use.
--
--  1/27/03: Changed TCP Port compression statistic variable descriptions to reflect
--           units change.  Counters now return units of 16 bytes instead of 128K bytes.
--
--  02/11/03: Changed comment lines to support HP NNM. i.e replace "-" with "=".
--
--  02/28/03: Add connector type HSSDC2 to fcswPortConnectorType
--
--  03/03/03: Expand fcswPortConnectorType and fcswPortType description
--
--  03/12/03: add fcswTcpOptions bit to enable SACK for iSCSI. Update fcswTcpOptions
--            description for compression bits for clarity. Add new variable
--            fcswTCPCompressionMethod to select compression method.
--
--  03/12/03: Included support for IPS 5000 series and 3350 models.
--            Updated fcswTcpOptions bitmap to support iSNS changes.
--            Added a new variable fcswTCPiSNSServerIpAddress to fcswTCPPortTable to set
--            the iSNS server's IP address if the port is configured as iSNS client.
--
--  03/17/03: Added fcswTCPiSCSITargetChapCredential to fcswTCPPortTable to configure the
--            CHAP authentication secret key for virtual targets.
--
--  04/11/03: Defined two more bits in fcswTCPiSCSIOptions to select the iSCSI
--            authentication method.
--
--  04/18/03: Corrected the SYNTAX range for fcswPortUtilization.
--
--  04/21/03: Added another compression method to fcswTCPCompressionMethod.
--
--  04/28/03: Modified the fcswEPortSoIPZoneCleanup variable's allowed values and its
--            description
--
--  05/09/03: Modified the fcswChasFanOperStatus enumerations and descriptions
--
--  05/21/03: add fcswTcpOptions bit to enable SACK for iFCP. 
--
--  05/21/03: update SNS configuration variable descriptions
--
--  05/29/03: obsolete fcswChasFanPartNumber
--
--  06/27/03: Added fIscsiGtwy to fcswNsPortType in the SNS table. This type indicates the iSCSI
--            listener for each of the configured iSCSI ports.
--
--  07/08/03: Added fcswEPortErrorMsgString to fcEPortTable.  This octet string allows a more detailed
--            error message to describe an error encountered on a given Eport.
--  
--  11/19/03: Added softwareBundleString to show the software string associated with the version of software
--            running on the switch.
--
NISHAN-MGT DEFINITIONS ::= BEGIN

IMPORTS
     MODULE-IDENTITY,
     OBJECT-TYPE,
     IpAddress,
     Integer32,
     Gauge32,
     Counter32
          FROM SNMPv2-SMI
     DisplayString,
     DateAndTime,
     RowStatus,
     PhysAddress,
     MacAddress,
     TruthValue,
     TEXTUAL-CONVENTION
          FROM SNMPv2-TC
     nishan
          FROM NISHAN-SMI
     InetAddressType,
     InetAddress
          FROM INET-ADDRESS-MIB
;

nishanMgmt     MODULE-IDENTITY
      LAST-UPDATED     "200302110000Z"
      ORGANIZATION     "Nishan Systems, Inc"
      CONTACT-INFO     "Nishan Systems, Inc
             Attn: Network Management
                3850 North First Street
                San Jose, CA 95134
                USA
                Tel : +1 408 519-3700
                email : snmp@nishansystems.com"
     DESCRIPTION  "The private MIB for Nishan Switch Management"
     REVISION     "200101200000Z"
     DESCRIPTION
                 "Initial public release of this MIB module"
  ::=  {  nishan  1  }

FCIDtype ::= OCTET STRING (SIZE (3))
WWNtype  ::= OCTET STRING (SIZE (8))

NishanOperStatus ::=   TEXTUAL-CONVENTION
      STATUS      current
      DESCRIPTION
        "Represents the state of device being monitored"
      SYNTAX      INTEGER {
            disabled(0),
            normal(1),
            warning(2),
            critical(3),
            shutdown(4),
            notpresent(5)
                   }


-- =======================================================================
-- Port configuration
-- =======================================================================
-- Except for specific variables marked below,
-- this section is supported on all Nishan products.

nishanPort     OBJECT IDENTIFIER ::=  {  nishanMgmt 2  }

portSetUp      OBJECT IDENTIFIER ::= { nishanPort 1 }

-- ----------------------------------------
-- Management Port configuration
-- ----------------------------------------
mgtPort        OBJECT IDENTIFIER ::= {portSetUp 1}

mgtPortIpAddressOnNextReset OBJECT-TYPE
     SYNTAX         IpAddress
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
"The IP address to be used for this management port
 after the next reset."
     ::= {mgtPort 1}

mgtPortNetMaskOnNextReset OBJECT-TYPE
     SYNTAX         IpAddress
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
"The network mask to be used for the management port
 after the next reset."
     ::= {mgtPort 2}

mgtBeacon OBJECT-TYPE
     SYNTAX         INTEGER { on(1), off(2) }
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
"Turn this on to blink and identify the management port."
     DEFVAL {off}
     ::= {mgtPort 3}

mgtPortIpAddressCurrent OBJECT-TYPE
     SYNTAX         IpAddress
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
"The IP address in use for this management port."
     ::= {mgtPort 4}

mgtPortNetMaskCurrent OBJECT-TYPE
     SYNTAX         IpAddress
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
"The network mask in use for this management port."
     ::= {mgtPort 5}

mgtPortOperStatus OBJECT-TYPE
-- for IPS Series 1000 switches, this variable is read-only.
     SYNTAX         INTEGER { up(1), down(2) }
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
"The operational status of the mgmt port. This tells you
 if the interface is up or down."
     ::= {mgtPort 6}

mgtPortPhysAddress  OBJECT-TYPE
     SYNTAX         PhysAddress (SIZE (6))
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
"The mgmt port MAC address."
     ::= {mgtPort 7}

mgtPortIPAddressViaDHCP OBJECT-TYPE
-- not supported on IPS Series 1000 switches.
     SYNTAX         INTEGER { false(0), true (1) }
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
"Should IP Address for mgmt Port be obtained via DHCP?"
     ::= {mgtPort 8}

mgtPortBroadcastAddressOnNextReset OBJECT-TYPE
-- not supported on IPS Series 1000 switches.
     SYNTAX         IpAddress
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
"The Broadcast address in use for this management port
 after the next reset."
     ::= {mgtPort 9}

mgtPortBroadcastAddressCurrent OBJECT-TYPE
-- not supported on IPS Series 1000 switches.
     SYNTAX         IpAddress
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
"The Broadcast address in use for this management port."
     ::= {mgtPort 10}

mgtPortDefaultGatewayAddressOnNextReset OBJECT-TYPE
-- not supported on IPS Series 2000
     SYNTAX         IpAddress
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
"The management port default gateway IP Address after the next reset."
     ::= {mgtPort 11}

mgtPortCurrentDefaultGatewayAddress OBJECT-TYPE
-- not supported on IPS Series 2000
     SYNTAX         IpAddress
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
"The management port default gateway IP Address."
     ::= {mgtPort 12}

mgtPortHostIpAddressOnNextReset OBJECT-TYPE
-- not supported on IPS Series 1000 and 2000 switches
     SYNTAX         IpAddress
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
"The IP address of NMS in use to management this management
 port to which this entry is applicable after the next reset."
     ::= {mgtPort 14}

mgtPortCurrentHostIpAddress OBJECT-TYPE
-- not supported on IPS Series 1000 and 2000 switches
     SYNTAX         IpAddress
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
"The IP address of NMS in use to management this
 management port to which this entry is applicable."
     ::= {mgtPort 15}

mgtPortHostNetMaskOnNextReset OBJECT-TYPE
-- not supported on IPS Series 1000 and 2000 switches
     SYNTAX         IpAddress
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
"The network mask of NMS in use to management this management
 port to which this entry is applicable after the next reset."
     ::= {mgtPort 16}

mgtPortCurrentHostNetMask OBJECT-TYPE
-- not supported on IPS Series 1000 and 2000 switches
     SYNTAX         IpAddress
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
"The network mask of NMS in use to management this
 management port to which this entry is applicable."
     ::= {mgtPort 17}

mgtPortReset OBJECT-TYPE
-- not supported on IPS Series 1000 and 2000 switches
     SYNTAX         INTEGER {false(0), true(1)}
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
"Setting this variable will reset the management
port without resetting the switch.  Management port
settings that take effect after reset will then become
active."
     DEFVAL        {false}
     ::= {mgtPort 18}

-- =======================================================================
-- System configuration
-- =======================================================================
-- This section is supported on all Nishan products.

nishanSystem     OBJECT IDENTIFIER ::=  {  nishanMgmt  3  }

memoryUtil          OBJECT-TYPE
     SYNTAX         INTEGER ( 0 .. 100 )
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
"Shared Memory utilization of the device."
     ::=  {  nishanSystem  1  }

beacon     OBJECT-TYPE
     SYNTAX         INTEGER { false(0), true(1) }
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
"Turn this on to blink the system."
     DEFVAL     {false}
     ::=  {  nishanSystem  2  }

trapAccessTable     OBJECT-TYPE
     SYNTAX         SEQUENCE  OF  TrapAccessEntry
     MAX-ACCESS     not-accessible
     STATUS         current
     DESCRIPTION
"The table to assign trap receipient IP addresses, and the
 severity level and above which the receipient should receive."
     ::=  { nishanSystem  3 }

trapAccessEntry     OBJECT-TYPE
     SYNTAX         TrapAccessEntry
     MAX-ACCESS     not-accessible
     STATUS         current
     DESCRIPTION
"Information relating to trap access"
     INDEX     {  mgmtIpAddress  }
     ::=  { trapAccessTable 1 }

TrapAccessEntry  ::=  SEQUENCE {
     mgmtIpAddress       IpAddress,
     severity            INTEGER,
     trapAccessRowStatus RowStatus
                               }

mgmtIpAddress     OBJECT-TYPE
     SYNTAX         IpAddress
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
"Management Station IP Address."
     ::=  {  trapAccessEntry  1  }

severity     OBJECT-TYPE
     SYNTAX     INTEGER { info ( 0 ) , warning ( 1 ) , error ( 2 ) , critical ( 3 ) }
     MAX-ACCESS     read-create
     STATUS         current
     DESCRIPTION
"Severity level of the lowest level trap being sent to this
 management station (info,warning,error,critical)."
     DEFVAL     {info}
     ::=  {  trapAccessEntry  2  }

trapAccessRowStatus OBJECT-TYPE
     SYNTAX       RowStatus
     MAX-ACCESS   read-create
     STATUS       current
     DESCRIPTION
"The SNMPv2 RowStatus convention."
     ::= { trapAccessEntry 3 }

timeSetup     OBJECT-TYPE
     SYNTAX         DateAndTime
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
"Use this value to set up the system date/time."
     ::=  {  nishanSystem  4  }

readOnlyPassword     OBJECT-TYPE
     SYNTAX         DisplayString
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
"Read community string.  As the value is set, it takes effect
 immediately -- not after the next reset."
     DEFVAL     {"public"}
     ::=  {  nishanSystem  5 }

readWritePassword     OBJECT-TYPE
     SYNTAX         DisplayString
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
"Write community string. As the value is set, it takes effect
 immediately -- not after the next reset."
     DEFVAL     {"private"}
     ::=  {  nishanSystem  6  }

attachedDeviceTypeOnSCSIPorts     OBJECT-TYPE
-- not supported on IPS Series 1000 switches
     SYNTAX         INTEGER { initiators(0), targets(1) }
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
"Device type of attached devices on SCSI Ports"
     DEFVAL     {initiators}
     ::=  {  nishanSystem  7  }

nsIpAddress OBJECT-TYPE
-- not supported on IPS Series 1000 or IPS Series 3000/4000/5000 switches
    SYNTAX  IpAddress
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "IP Address of Name Server."
    ::=  {  nishanSystem 8  }

systemReset     OBJECT-TYPE
     SYNTAX         INTEGER { false(0), true(1) }
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
"Setting this variable to true will reset the system."
     DEFVAL {false}
     ::=  {  nishanSystem  9  }

systemSCSIBusScanOption  OBJECT-TYPE
-- not supported on IPS Series 1000 or IPS Series 3000/4000/5000 switches
    SYNTAX  INTEGER {scanOnlyLUN0(0), scanAllLUNs(1)}
    MAX-ACCESS  read-write
    STATUS  current
    DESCRIPTION
        "This is used to specify the level of LUN scanning to be performed by switch for each of its SCSI BUS."
    DEFVAL  {scanOnlyLUN0}
    ::=  {  nishanSystem  10  }

systemNsPrimaryStatus     OBJECT-TYPE
     SYNTAX         INTEGER { snsunvailable(1), snsavailable(2) }
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
"SOIP Name Server is available or not."
     DEFVAL {snsavailable}
     ::=     { nishanSystem 11 }

systemSaveToFlash OBJECT-TYPE
     SYNTAX         INTEGER { yes(1), no(2) }
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
"Setting this variable to 1 causes the System configuration
 to be saved to flash."
     DEFVAL {no}
     ::= { nishanSystem 12 }

flashNvramVersion OBJECT-TYPE
     SYNTAX         INTEGER (0..255)
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
"DURABLE: NVRAM version number read from flash."
     ::= { nishanSystem 13 }

currentNvramVersion OBJECT-TYPE
     SYNTAX         INTEGER (0..255)
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
"current NVRAM version that should be used."
     ::= { nishanSystem 14 }

configurationStatus OBJECT-TYPE
-- not supported on IPS Series 2000 switches
     SYNTAX         INTEGER { touched(1), saved(2), noChanges(3) }
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
"Status of system configuration. Has it been touched since last
 time it was saved?"
     DEFVAL {noChanges}
     ::= { nishanSystem 15 }

systemLeds OBJECT-TYPE
-- not supported on IPS Series 2000 switches
     SYNTAX     DisplayString
     MAX-ACCESS     read-only
     STATUS     current
     DESCRIPTION
"A character string that contains the values of all the
 system LEDs.  Each character represents an LED.  If the
 LED values are not available, a zero length string is
 returned. The following shows the meaning of a character:

            value  meaning
            -----  -------
              0    off
              1    slow blinking
              2    fast blinking
              3    on
          "
     ::= { nishanSystem 16 }


systemOptions       OBJECT-TYPE
    SYNTAX          INTEGER (0..2147483647)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION     "DURABLE: { 0:all }
A bitmap representing options for this switch.
Bit 0 is the least significant bit.
Setting a bit enables the option.
Current bit assignments are:

    bit 0:        Enable Jumbo frames on local GE ports.
    bit 1:        Enable Eport SAN IDs.
    bits 2-31:    Reserved

Reserved bits must be zero when read, and must be
ignored by the agent when set, for future backward
compatibility."
    DEFVAL          { 0 }
   ::= {nishanSystem 17}

softwareBundleString     OBJECT-TYPE
     SYNTAX              DisplayString
     MAX-ACCESS          read-only
     STATUS              current
     DESCRIPTION
"This value will reflect the supported features for the version of the software running on this switch.
For ex: if the s/w version is 4.2.SI then this string will have the value 'Standard iSCSI' "
     DEFVAL     {"Standard iSCSI"}
  ::= {nishanSystem  19} 

-- =======================================================================
-- Flash memory operations
-- =======================================================================
-- This section is supported on all Nishan products.

nishanFlash      OBJECT IDENTIFIER ::=  {  nishanMgmt 4  }

flashObject      OBJECT IDENTIFIER ::= { nishanFlash 1 }
--
-- Information regarding locations found the flash devices
--

flashImageTable          OBJECT-TYPE
     SYNTAX          SEQUENCE  OF  FlashImageEntry
     MAX-ACCESS          not-accessible
     STATUS          current
     DESCRIPTION
"Table entries for Flash Locations"
     ::= { flashObject 1 }

flashImageEntry          OBJECT-TYPE
     SYNTAX          FlashImageEntry
     MAX-ACCESS          not-accessible
     STATUS          current
     DESCRIPTION
"Table entries for Flash Locations"
    INDEX       {flashImageIndex}
     ::= { flashImageTable 1 }

FlashImageEntry ::= SEQUENCE {
             flashImageIndex        INTEGER,
             flashImageVersion      DisplayString,
             flashImageCheckSum     INTEGER,
             flashImageSize         INTEGER,
             flashImageDate         DisplayString,
             flashImageStatus       INTEGER
        }

flashImageIndex          OBJECT-TYPE
     SYNTAX          INTEGER (1..4)
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
"The index of this flash image."
     ::= { flashImageEntry 1 }

flashImageVersion     OBJECT-TYPE
     SYNTAX          DisplayString (SIZE (0..10))
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
"Version of the image downloaded into flash."
     ::= { flashImageEntry 2 }

flashImageCheckSum      OBJECT-TYPE
     SYNTAX           INTEGER (0..2147483647)
     MAX-ACCESS       read-only
     STATUS           current
     DESCRIPTION
"Check sum of the image file downloaded."
     ::= { flashImageEntry 3 }

flashImageSize           OBJECT-TYPE
     SYNTAX           INTEGER (0..16777215)
     MAX-ACCESS       read-only
     STATUS           current
     DESCRIPTION
"Size of the image file downloaded."
     ::= { flashImageEntry 4 }

flashImageDate           OBJECT-TYPE
     SYNTAX           DisplayString (SIZE(8))
     MAX-ACCESS       read-only
     STATUS           current
     DESCRIPTION
"Time of image file creation."
     ::= { flashImageEntry 5 }

flashImageStatus      OBJECT-TYPE
     SYNTAX           INTEGER (0..31)
     MAX-ACCESS       read-write
     STATUS           current

     DESCRIPTION
"If 'active' is on, then the value of 'deleted', 'invalidCRC', and 'valid'
 are not applicable.  If 'active' is off, then the value of 'deleted',
 'invalidCRC' and 'valid' must be exclusive-OR: only one is on at any time.
 See PortUsageType table for converting from BITS to INTEGER.
           1 deleted
           2 invalidCRC
           3 valid
           4 active
          "
     DEFVAL {0}
     ::= { flashImageEntry 6 }

--
-- File Transfer Information
--

upgradeServer     OBJECT-TYPE
     SYNTAX         IpAddress
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
          "Host used to retrieve flash file from.
           The protocol is TFTP for now so this entry
           is indeed the IP Address of the TFTP Server."
     ::= { flashObject 2 }

flashUploadProtocol     OBJECT-TYPE
     SYNTAX          INTEGER {
                     tftp(1),
                     rcp(2),
                     http(3),
                     ftp(4)
               }
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
"Retrieval protocol to use in order obtain
 image.  It is TFTP for now."
     DEFVAL          {tftp}
     ::= { flashObject 3 }

flashUserName          OBJECT-TYPE
     SYNTAX          DisplayString (SIZE(0..15))
     MAX-ACCESS      read-write
     STATUS          current
     DESCRIPTION
"User name to use with ftp (if required). Ignored by the
 other upload protocols."
     ::= { flashObject 4 }

flashFileName          OBJECT-TYPE
     SYNTAX          DisplayString (SIZE(0..255))
     MAX-ACCESS      read-write
     STATUS          current
     DESCRIPTION
"File name with path to flash image on host.  File name
 must come with fully qualified path."
     ::= { flashObject 5 }

downloadPercentComplete      OBJECT-TYPE
     SYNTAX         INTEGER (0..100)
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
"Percentage complete of the download operation."
     ::= { flashObject 6 }


--
-- Flash Operation Commands
--

flashDestination     OBJECT-TYPE
     SYNTAX          INTEGER (1..4)
     MAX-ACCESS          read-create
     STATUS          current
     DESCRIPTION
"Index into flash of which operation will be performed against."
     ::= { flashObject 7 }

flashCommand          OBJECT-TYPE
     SYNTAX          INTEGER {
                       erase(1),
                       verify(2),
                       upload(3)
                             }
     MAX-ACCESS       read-create
     STATUS           current
     DESCRIPTION
"Command to send to flash."
     ::= { flashObject 8 }

flashCommandStatus     OBJECT-TYPE
     SYNTAX          INTEGER {
                    inprogress(1),
                    completedSuccessfully(2),
                    invalidHostName(3),
                    invalidSourceName(4),
                    invalidOperation(5),
                    deviceBusy(6),
                    deviceOpenError(7),
                    deviceFull(8),
                    fileOpenError(9),
                    fileTransferError(10),
                    fileCheckSumError(11),
                    unknownError(12),
                    invalidFlashFile(13)
               }
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
"Returns current status of command"
     ::= { flashObject 9 }

flashUploadProtocolPassword          OBJECT-TYPE
     SYNTAX          DisplayString (SIZE(0..15))
     MAX-ACCESS      read-write
     STATUS          current
     DESCRIPTION
"Password to use with UploadProtocol (if required)."
     ::= { flashObject 10 }


runtimeImageLoadedFrom    OBJECT-TYPE
     SYNTAX     INTEGER {
                      flashPartition1(1),
                      flashPartition2(2),
                      network(3)
                        }

     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
"Returns the location from where the current runtime
vxWorks Image was obtained & booted."
     ::= { flashObject 11 }


logMsgUploadCommand  OBJECT-TYPE
-- not supported on IPS Series 2000.
-- on IPS Series 1000, option 2 (erase) is not supported.
     SYNTAX INTEGER {
            upload(1),
            erase(2)
            }
     MAX-ACCESS       read-write
     STATUS           current
     DESCRIPTION
        "Command to upload System Log contents to server
        or erase current contents of System Log.  This
        variable always returns 0 when read. After setting
        this variable to 1 or 2, poll flashCommandStatus to
        determine the operation status."
      ::= { flashObject 12 }

nvramLoadingCommand  OBJECT-TYPE
-- not supported on IPS Series 1000 or IPS Series 2000
     SYNTAX INTEGER {
            upload(1),
            download(2)
            }
     MAX-ACCESS       read-write
     STATUS           current
     DESCRIPTION
     "Command to upload or download nvram data."
     ::= { flashObject 13 }

logMsgUsedSpace  OBJECT-TYPE
     SYNTAX           INTEGER (-1..100)
     MAX-ACCESS       read-only
     STATUS           current
     DESCRIPTION
     "Percentage of used space in error log flash.
      In the case of a flash error, the value of -1 is used."
     ::= { flashObject 14 }


flashImageOnNextReset   OBJECT-TYPE
     SYNTAX         INTEGER (1..4)
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
"Flash Image which will be used on next reset. Image is
defined by flashImageIndex in flashImageTable."
     ::= { flashObject 15 }

-- =======================================================================
-- Environmental information
-- =======================================================================
-- This section is supported on all Nishan products.

nishanEnv     OBJECT IDENTIFIER ::=  {  nishanMgmt 5  }

envElectrical      OBJECT IDENTIFIER ::= { nishanEnv 1 }
envMechanical      OBJECT IDENTIFIER ::= { nishanEnv 2 }
envSetup           OBJECT IDENTIFIER ::= { nishanEnv 3 }

envVoltageTable      OBJECT-TYPE
     SYNTAX          SEQUENCE  OF  EnvVoltageEntry
     MAX-ACCESS      not-accessible
     STATUS          current
     DESCRIPTION
"Table entries for the Monitored Voltages"
     ::= { envElectrical 1 }

envVoltageEntry      OBJECT-TYPE
     SYNTAX          EnvVoltageEntry
     MAX-ACCESS      not-accessible
     STATUS          current
     DESCRIPTION
"Voltage monitor information"
      INDEX          { envVoltageIndex }
     ::=  { envVoltageTable 1 }

EnvVoltageEntry  ::=  SEQUENCE {
      envVoltageIndex            INTEGER,
      envVoltageDescr            DisplayString,
      envVoltageOperStatus       NishanOperStatus,
      envVoltageValue            INTEGER,
      envVoltageUpperThresh      INTEGER,
      envVoltageLowerThresh      INTEGER
     }

envVoltageIndex          OBJECT-TYPE
     SYNTAX              INTEGER (1..6)
     MAX-ACCESS          read-only
     STATUS              current
     DESCRIPTION
"Entry Index"
     ::=  { envVoltageEntry  1 }

envVoltageDescr          OBJECT-TYPE
     SYNTAX              DisplayString (SIZE (0..8))
     MAX-ACCESS          read-only
     STATUS              current
     DESCRIPTION
"Description of measurement"
     ::=  { envVoltageEntry  2 }

envVoltageOperStatus     OBJECT-TYPE
     SYNTAX              NishanOperStatus
     MAX-ACCESS          read-only
     STATUS              current
     DESCRIPTION
"Voltage status"
     ::= { envVoltageEntry 3 }

envVoltageValue          OBJECT-TYPE
     SYNTAX          INTEGER (0..24000)
     UNITS           "millivolts"
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
"Voltage in millivolts"
     ::= { envVoltageEntry 4 }

envVoltageUpperThresh     OBJECT-TYPE
     SYNTAX          INTEGER (0..24000)
     UNITS           "millivolts"
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
"Upper threshold before trap sent"
     ::= { envVoltageEntry 5 }

envVoltageLowerThresh     OBJECT-TYPE
     SYNTAX          INTEGER (0..24000)
     UNITS           "millivolts"
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
"Lower threshold before trap sent"
     ::= { envVoltageEntry 6 }

envPowerSupplyTable OBJECT-TYPE
-- This table is not supported on IPS Series 3000/4000/5000 switches
    SYNTAX  SEQUENCE OF EnvPowerSupplyEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
            "A list of power supply status entries."
::= { envElectrical 2 }

envPowerSupplyEntry OBJECT-TYPE
    SYNTAX  EnvPowerSupplyEntry
    MAX-ACCESS  not-accessible
    STATUS  current
    DESCRIPTION
            "This contains information about a
            particular power supply to which this entry is applicable."
    INDEX   { envPowerSupplyIndex }
::= { envPowerSupplyTable 1 }

EnvPowerSupplyEntry ::=
    SEQUENCE {
        envPowerSupplyIndex
            INTEGER,
        envPowerSupplyStatus
            INTEGER
    }

envPowerSupplyIndex OBJECT-TYPE
    SYNTAX  INTEGER (1..2)
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "The unique index of the power supply identified by this
            entry."
::= { envPowerSupplyEntry 1 }

envPowerSupplyStatus OBJECT-TYPE
    SYNTAX  INTEGER { up(1), down(2) }
    MAX-ACCESS  read-only
    STATUS  current
    DESCRIPTION
            "This object represents the power supply status"

::= { envPowerSupplyEntry 2 }


envFanTable     OBJECT-TYPE
-- This table is not supported on IPS Series 3000/4000/5000 switches
    SYNTAX      SEQUENCE  OF  EnvFanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "Table entries for the Monitored Voltages"
    ::= { envMechanical 1 }

envFanEntry     OBJECT-TYPE
    SYNTAX      EnvFanEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
        "..."
    INDEX       { envFanIndex }
    ::=  { envFanTable 1 }

EnvFanEntry  ::=  SEQUENCE {
        envFanIndex     INTEGER,
        envFanDescr     DisplayString,
        envFanOperStatus    NishanOperStatus,
        envFanValue     Gauge32
    }

envFanIndex     OBJECT-TYPE
    SYNTAX      INTEGER (1..2)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "..."
    ::=  { envFanEntry  1 }

envFanDescr     OBJECT-TYPE
    SYNTAX      DisplayString (SIZE (0..14))
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "A textual description of the
         location of the fan."
    ::=  { envFanEntry  2 }

envFanOperStatus    OBJECT-TYPE
    SYNTAX      NishanOperStatus
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "..."
    ::= { envFanEntry 3 }

envFanValue     OBJECT-TYPE
    SYNTAX      Gauge32
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
        "The current value (in RPMS) of the measured FAN"
    ::= { envFanEntry 4 }

envTemperature          OBJECT-TYPE
     SYNTAX             INTEGER (0..200)
     MAX-ACCESS         read-only
     STATUS             current
     DESCRIPTION
"The current ambient temperature within the measured chassis"
     ::= { envMechanical 2 }

envTempUpperThresh     OBJECT-TYPE
     SYNTAX            INTEGER (0..200)
     MAX-ACCESS        read-write
     STATUS            current
     DESCRIPTION
"The upper limit of the ambient temperature."
     ::= { envMechanical 3 }


-- =======================================================================
-- Fibre Channel Switch Zone Configuration
-- =======================================================================
-- Except for the six variables fcswNsCommSet, fcswNsCommCurrent, fcswNsL3McastGrpSet,
--   fcswNsL3McastGrpCurrent, fcswSNSLocalRoleSet, and fcswSNSRoleStatusthis,
--   this section is not supported on IPS Series 2000 switches.
-- Several variables and tables, as marked below, are not supported on IPS Series 1000 switches.

nishanFCsw     OBJECT IDENTIFIER ::=  {  nishanMgmt 8  }

fcswMaxZoneId OBJECT-TYPE
-- not supported on IPS Series 1000 switches.
    SYNTAX      INTEGER (1..4094)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
"The maximum Zone ID that is supported in SoIP network."
    ::= { nishanFCsw 1 }


fcswPortsCanBelongInMaxNumZones OBJECT-TYPE
-- not supported on IPS Series 1000 switches.
    SYNTAX      INTEGER (0..4094)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
"The Maximum number of Zones that any port can be configured
 in a SoIP network."
    ::= { nishanFCsw 2 }


fcswNewDeviceZoneStatus OBJECT-TYPE
    SYNTAX      INTEGER {inNoZone(0), inDefaultZone(1)}
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
"DURABLE: { inNoZone } Zone Status for new device when plugged
 in this switch. Either the new device will automatically go in
 no zone or go in default zone."
    ::= { nishanFCsw 3 }

--
-- ZONE INFO TABLE
--
-- fcswZoneBurstLimit,  fcswZoneNormalLimit and fcswZoneType variables are reserved
-- for future use and is not supported in the Dragon release

fcswZoneInfoTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF FcswZoneInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
"A table containing configuration information for each ZONE configured
 into the device by (local or network) management.  All entries are
 permanent and will be restored after the device is reset."
    ::= { nishanFCsw 7 }

fcswZoneInfoEntry OBJECT-TYPE
    SYNTAX      FcswZoneInfoEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
"Configuration information for a ZONE configured into the device by (local
 or network) management."
    INDEX   { fcswZoneInfoTag }
    ::= { fcswZoneInfoTable 1 }

FcswZoneInfoEntry ::=
    SEQUENCE {
      fcswZoneInfoTag        INTEGER,
      fcswZoneSymbolicName   OCTET STRING,
      fcswZoneRowStatus      RowStatus,
      fcswZoneBurstLimit     INTEGER,
      fcswZoneNormalLimit    INTEGER,
      fcswZoneType           INTEGER
             }

fcswZoneInfoTag OBJECT-TYPE
    SYNTAX      INTEGER (0 .. 4094)
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
"The ZONE-ID that refering to this ZONE."
    ::= { fcswZoneInfoEntry 1 }

fcswZoneSymbolicName OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (0 .. 64))
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
"The symbolic port/node name field may be used to contain a variable
 length field (from 0 to 64) that is associated with the port/node.
 The content and format of this field is not defined by the name server
 and simply reflects information providec when this object is
 registered by a client. If the symbolic port/node name is not
 registered, then the length of this field is set to zero bytes."
    ::= { fcswZoneInfoEntry 2 }

fcswZoneRowStatus OBJECT-TYPE
    SYNTAX        RowStatus
    MAX-ACCESS    read-create
    STATUS        current
    DESCRIPTION
"This object indicates the status of this entry.
         active (1),         read-write
         notInService (2),   read-write
         notReady (3),       read-only
         createAndGo (4),    write-only
         createAndWait (5),  write-only
         destroy (6),        write-only"
    ::= { fcswZoneInfoEntry 3 }

-- This variable is reserved for future use and is not supported in the Dragon release
fcswZoneBurstLimit OBJECT-TYPE
    SYNTAX      INTEGER (1..125)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
"DURABLE: The burst limit (maximum) bandwidth in MB/sec that this zone can
support. The burst limit should always be >= the normal limit."
    ::= { fcswZoneInfoEntry 4 }

-- This variable is reserved for future use and is not supported in the Dragon release
fcswZoneNormalLimit OBJECT-TYPE
    SYNTAX      INTEGER (1..125)
    MAX-ACCESS  read-create
    STATUS      current
    DESCRIPTION
"DURABLE: The normal limit (minimum) bandwidth in MB/sec that this zone can support."
    ::= { fcswZoneInfoEntry 5 }

-- This variable is reserved for future use and is not supported in the Dragon release
fcswZoneType            OBJECT-TYPE
        SYNTAX          INTEGER (0..2147483647)
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
"A bitmap representing the type of zone. Based on the type of zone, certain actions
could be taken. For example, if it is an iSNS added zone, then this zone cannot be
removed or altered.

Bit 0 is the least significant bit.
Current bit assignments are:
    bit 0:  iSNS added zone
    bit 1:  ISS added zone
    bits 2-31:    Reserved
"
    ::= { fcswZoneInfoEntry 6 }

--
-- FC Port Map Table
--

fcswNumFcPortMapEntry OBJECT-TYPE
-- not supported on IPS Series 1000 switches.
    SYNTAX            INTEGER (0..65535)
    MAX-ACCESS        read-only
    STATUS            current
    DESCRIPTION
"The current number of entries in fcswFcPortMapTable."
    ::= { nishanFCsw 8 }

fcswFcPortMapTable OBJECT-TYPE
-- not supported on IPS Series 1000 switches.
    SYNTAX        SEQUENCE OF FcswFcPortMapEntry
    MAX-ACCESS        not-accessible
    STATUS        current
    DESCRIPTION
"FC Port Loop table"
    ::= { nishanFCsw 9 }

fcswFcPortMapEntry OBJECT-TYPE
    SYNTAX        FcswFcPortMapEntry
    MAX-ACCESS        not-accessible
    STATUS        current
    DESCRIPTION
"Entry containing info. for a particular port"
    INDEX         { fcswFcAddressId }
    ::= { fcswFcPortMapTable 1 }

FcswFcPortMapEntry ::= SEQUENCE {
    fcswFcAddressId         FCIDtype,
    fcswFcNsPortSymb        OCTET STRING,
    fcswFcNsPortWwn         WWNtype,
    fcswFcPortType          INTEGER,
    fcswNLPortEnable        INTEGER
          }

fcswFcAddressId    OBJECT-TYPE
    SYNTAX         FCIDtype
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
"Fibre Channel ID for entry"
    ::= { fcswFcPortMapEntry 1 }

fcswFcNsPortSymb     OBJECT-TYPE
     SYNTAX          OCTET STRING(SIZE(0..255))
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
"The object identifies the contents of a Symbolic Name
 of the port entry."
  ::= { fcswFcPortMapEntry 2 }

fcswFcNsPortWwn          OBJECT-TYPE
     SYNTAX              WWNtype
     MAX-ACCESS           read-only
     STATUS              current
     DESCRIPTION
"This object identifies the Fibre Channel World_wide
 Name of the port entry."
  ::= { fcswFcPortMapEntry 3 }

fcswFcPortType OBJECT-TYPE
    SYNTAX      INTEGER {
          flport(1),
          fport(2),
          nlport(3),
          nport(4),
          alport(5),
          lport(6)
          }
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
"Fibre Channel Port Type"
    ::= { fcswFcPortMapEntry 4 }

fcswNLPortEnable     OBJECT-TYPE
    SYNTAX     INTEGER { bypass(0), enable (1) }
    MAX-ACCESS     read-write
    STATUS     current
    DESCRIPTION
"Enable/Disable Name Server Protocol."
    ::= { fcswFcPortMapEntry 5 }

--
-- Fibre Channel Storage Name Server group
--
fcswSNSCommSet       OBJECT-TYPE
-- IPS Series 1000 switches do not support option 3 (unicast)
     SYNTAX          INTEGER {l2Brdcst(1), multicast(2), unicast(3)}
     MAX-ACCESS      read-write
     STATUS          current
     DESCRIPTION
"Indicates the type of communication that will be used
 by the SNS entities in the SAN.  This setting takes
 effect after the next reset of the switch.  All SNS entities in the SAN must use
 the same type for proper functionality."
     ::= { nishanFCsw 10 }

fcswSNSCommCurrent    OBJECT-TYPE
-- IPS Series 1000 switches do not support option 3 (unicast)
     SYNTAX           INTEGER {l2Brdcst(1), multicast(2), unicast(3)}
     MAX-ACCESS       read-only
     STATUS           current
     DESCRIPTION
"In software versions less than 4.1, this variable
 indicates the type of communication that is currently
 being used by the SNS entities in the SAN.  All SNS
 entities in the SAN must use the same type for proper
 functionality.
 In software version 4.1, this variable is not used.
 It returns the same value as fcswSNSCommSet."
     ::= { nishanFCsw 11 }

fcswPrimarySNSIpAddress     OBJECT-TYPE
     SYNTAX          IpAddress
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
"The in-band IP address of the current primary SNS in this SAN."
     ::= {nishanFCsw 12}

fcswPrimarySNSMgtIpAddress     OBJECT-TYPE
     SYNTAX          IpAddress
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
"The out-of-band/management IP address of the current
 primary SNS in this SAN."
     ::= {nishanFCsw 13}

fcswSNSLocalRoleSet      OBJECT-TYPE
     SYNTAX              INTEGER { server(0), client(1) }
     MAX-ACCESS          read-write
     STATUS              current
     DESCRIPTION
"Indicates the role that the local SNS entity will
 take after the next reset of the switch.
    server: the switch will participate in primary server
            election on next reboot
    client: the switch will not participate in
            primary server election on next reboot"
      ::= {nishanFCsw 14 }

fcswSNSRoleStatus     OBJECT-TYPE
     SYNTAX          INTEGER { server(0), client(1), serverAsClient(2) }
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
"The current Name Server mode of this device.
     server: the switch is elected as a primary server;
     client: the switch did not participate in primary server election
             and is currently a client;
     server-as-client: the switch participated in primary server election
             but was not elected, and is currently acting as a client."
     ::= {nishanFCsw 15 }

--
-- Naming Service's Port Table
--

fcswNsPortTable      OBJECT-TYPE
     SYNTAX          SEQUENCE OF FcswNsPortEntry
     MAX-ACCESS      not-accessible
     STATUS          current
     DESCRIPTION
"The SNS Port table for this SAN."
     ::= { nishanFCsw 16 }

fcswNsPortEntry      OBJECT-TYPE
     SYNTAX          FcswNsPortEntry
     MAX-ACCESS      not-accessible
     STATUS          current
     DESCRIPTION
"An entry of the local Name Server database."
     INDEX          { fcswNsPortWwn }
     ::= { fcswNsPortTable 1 }

FcswNsPortEntry ::= SEQUENCE {
     fcswNsPortWwn         WWNtype,
     fcswNsPortID          FCIDtype,
     fcswNsPortType        INTEGER,
     fcswNsPortSymb        OCTET STRING,
     fcswNsNodeWwn         WWNtype,
     fcswNsNodeSymb        OCTET STRING,
     fcswNsNodeIPA         OCTET STRING,
     fcswNsNodeIpAddress   OCTET STRING,
     fcswNsPortIpAddress   OCTET STRING,
     fcswNsFcCos           INTEGER,
     fcswNsFc4             OCTET STRING,
     fcswNsFabricPortWwn   WWNtype,
     fcswNsDeviceZoneMap   OCTET STRING,
     fcswNsDevicePriority  INTEGER,
     fcswNsRmtDevFlg       INTEGER,
     fcswNsDeviceType      Integer32,
     fcswNsParentNodeWwn   WWNtype,
     fcswNsFc4Features     OCTET STRING
    }

fcswNsPortWwn          OBJECT-TYPE
     SYNTAX            WWNtype
     MAX-ACCESS        read-only
     STATUS            current
     DESCRIPTION
"The WorldWideName of the port as defined in FC-GS-3."
     ::= { fcswNsPortEntry 1 }

fcswNsPortID          OBJECT-TYPE
     SYNTAX           FCIDtype
     MAX-ACCESS       read-only
     STATUS           current
     DESCRIPTION
"The Port ID of the port in this SAN as used in mFCP/iFCP."
  ::= { fcswNsPortEntry 2 }


fcswNsPortType          OBJECT-TYPE
     SYNTAX          INTEGER {
        unknown       (0),
        nPort         (1),
        nlPort        (2),
        fNlPort       (3),
        nSoIPPort    (16),     -- x'10'
        fPort       (129),     -- x'81'
        flPort      (130),     -- x'82'
        ePort       (132),     -- x'84'
        bPort       (133),     -- x'85'
        lport       (134),     -- x'86'
        fEtherPort  (144),     -- x'90'
        fEtherGtwy  (145),     -- x'91'
        omniPort    (146),     -- x'92'
        fIscsiGtwy  (147),     -- x'93,
        unknownEnd  (255)
                             }
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
"The identifies the type of port: N_Port, NL_Port, etc.,
 for this entry. The port types are consistent with those
 defined in FC-GS-3, with extensions.  The extensions are:
 fEtherPort, fEtherGtwy, omniPort, nSoIPPort and fIscsiGtwy."
     ::= { fcswNsPortEntry 3 }

fcswNsPortSymb          OBJECT-TYPE
     SYNTAX          OCTET STRING(SIZE(0..255))
     MAX-ACCESS      read-write
     STATUS          current
     DESCRIPTION
"The Symbolic Name of the port as defined in FC-GS-3.  This
 is a variable-length text-based description of up to 255
 bytes, that is associated with the device port in the network.
 This field is normally provided during device registration.
 However, a network management application can update this
 field as required."
     ::= { fcswNsPortEntry 4 }

fcswNsNodeWwn          OBJECT-TYPE
     SYNTAX          WWNtype
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
"The WorldWideName of the node as defined in FC-GS-3."
     ::= { fcswNsPortEntry 5 }

fcswNsNodeSymb          OBJECT-TYPE
     SYNTAX          OCTET STRING (SIZE(0..255))
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
"The object identifies the contents of a Symbolic Name of
 the the node associated with the entry."
     ::= { fcswNsPortEntry 6 }

fcswNsNodeIPA        OBJECT-TYPE
     SYNTAX          OCTET STRING (SIZE(8))
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
"The object identifies the Initial Process Associator of
 the node for the entry as defined in FC-GS-2."
     ::= { fcswNsPortEntry 7 }

fcswNsNodeIpAddress  OBJECT-TYPE
     SYNTAX          OCTET STRING (SIZE(16))
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
"The IP address of the node as defined in FC-GS-3. The
 format of the address is in IPv6. When an IPv4 value is
 contained in this field, the most significant 12 bytes
 are set to 0x00.  By convention, this IP Address can be
 used as the management IP Address for the device."
      ::= { fcswNsPortEntry 8 }

fcswNsPortIpAddress  OBJECT-TYPE
     SYNTAX          OCTET STRING (SIZE(16))
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
"The IP address of the node as defined in FC-GS-3. The
 format of the address is in IPv6. When an IPv4 value is
 contained in this field, the most significant 12 bytes
 are set to 0x00."
     ::= { fcswNsPortEntry 9 }

fcswNsFcCos          OBJECT-TYPE
     SYNTAX          INTEGER {
                 classUnknown  (0),
                 classF        (1),
                 class1        (2),
                 classF1       (3),
                 class2        (4),
                 classF2       (5),
                 class12       (6),
                 classF12      (7),
                 class3        (8),
                 classF3       (9),
                 class13      (10),
                 classF13     (11),
                 class23      (12),
                 classF23     (13),
                 class123     (14),
                 classF123    (15)
               }
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
"The object identifies the class of services supported by the
 port. The value is a bit-map defined as follows:
          o bit 0 is class F,
          o bit 1 is class 1,
          o bit 2 is class 2,
          o bit 3 is class 3,
          o bit 4 is class 4, etc."
     ::= { fcswNsPortEntry 10 }

fcswNsFc4            OBJECT-TYPE
     SYNTAX          OCTET STRING (SIZE (32))
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
"The object identifies the FC-4s supported by the port as
 defined in FC-GS-3."
     ::= { fcswNsPortEntry 11 }

fcswNsFabricPortWwn     OBJECT-TYPE
     SYNTAX             WWNtype
     MAX-ACCESS         read-only
     STATUS             current
     DESCRIPTION
"The object identifies the Fibre Channel World Wide Name of the
 associated switch port as defined in FC-GS-3."
     ::= { fcswNsPortEntry 13}

fcswNsDeviceZoneMap OBJECT-TYPE
    SYNTAX      OCTET STRING (SIZE (1..512))
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "DURABLE: { 0:all }
    The ZONE-ID BIT map to which this device belongs.
    The total number of zone supported in SoIP network environment
    is determined by fcswMaxZoneId.  Each bit in this object
    refers to a zone id, e.g. bit 1 referring to zone 1, bit 2
    referring to zone 2 etc. Number of octets in this octet string
    should be equal to fcswMaxZoneId/8. Only
    fcswPortsCanBelongInMaxNumZones number of bits should be set
    as fcswPortsCanBelongInMaxNumZones are the number of zones a
    device can belong into."
     ::= { fcswNsPortEntry 14 }

fcswNsDevicePriority OBJECT-TYPE
    SYNTAX      INTEGER (0..7)
    MAX-ACCESS  read-write
    STATUS      current
    DESCRIPTION
        "DURABLE: { 1:all }
        Priority of this device."
    ::= { fcswNsPortEntry 15 }

fcswNsRmtDevFlg    OBJECT-TYPE
    SYNTAX         INTEGER {
               snsLocalDevice (1),
               snsRemoteDevice (2)
                        }
    MAX-ACCESS     read-only
    STATUS         current
    DESCRIPTION
"This is to differentiate remote devices from local devices.
 Default for this flag is 1 (SNS_LOCAL_DEVICE). Remote devices
 are 2 (SNS_REMOTE_DEVICE)."
    ::= { fcswNsPortEntry 16}

fcswNsDeviceType    OBJECT-TYPE
-- not supported on IPS Series 1000 switches
-- Range removed to avoid MIB compiler errors.
-- This should be an Unsigned32 or octet string, but the agent returns an ASN.1 INTEGER.
--  SYNTAX          INTEGER (0 .. 4294967295)
    SYNTAX          Integer32
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
"This mib variable is deprecated from switch software release 3.1
 and beyond.

 This attribute indicates the type of device that is registered.
 It can be used by network management to provide hints to the
 user what type of functions can be performed on this device.

 Byte 0 gives SCSI device type Identifies the type of SCSI
 Device:
               Code          Description
               ---------------
               00h          Direct-access device.
               01h          Sequential-access device.
               02h          Printer device.
               03h          Processor device.
               04h          WORM device.
               05h          CD-ROM device.
               06h          Scanner device.
               07h          Optical Memory device.
               08h          Medium Changer device.
               09h          Communications device
               0Ah - 1Eh     Reserved.
               1Fh          Unknown or no device type.

        Byte 1 gives FC Port Type;
             0 INVALID
             1 PRIVATE
             2 PUBLIC
             3 ALIEN

        Byte 2 is a bit-map that indicates device role.
             Both Bits 0,1 = 0 means device role is UNKNOWN.
             Bit 0 = 1 means role is TARGET
             Bit 1 = 1 means role is INITIATOR
             Both Bits 0,1 = 1 means role is TARGET AND INITIATOR

        Byte 3 is reserved.
"
    ::= { fcswNsPortEntry 17 }

fcswNsParentNodeWwn     OBJECT-TYPE
     SYNTAX             WWNtype
     MAX-ACCESS         read-only
     STATUS             current
     DESCRIPTION
"The object identifies the node World Wide Name of the
 associated node if exists"
     ::= { fcswNsPortEntry 18}

-- This variable is not supported in the Dragon release
fcswNsFc4Features    OBJECT-TYPE
     SYNTAX          OCTET STRING (SIZE (128))
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
"The object identifies the FC-4 Features supported by the port as
 defined in FC-GS-3.

 For FC4 type FCP-2 (defined in FC-PH as type 08h), the FC4 feature bits
 are defined as follows:

 Bit   Interpretation
 ---   --------------
  3        Reserved
  2    Reserved
  1        1 = FCP Initiator function supported, 0 = not supported
  0        1 = FCP Target function supported, 0 = not supported

"
     ::= { fcswNsPortEntry 19 }

--
-- AL Port Map Table
--
-- Support for this table is planned in IPS Series 3000 switches,
-- but is not yet implemented.
-- This table is not supported on IPS Series 1000 or Series 2000 switches.

fcswALPortMappingTable OBJECT-TYPE
    SYNTAX         SEQUENCE OF FcswALPortMappingEntry
    MAX-ACCESS         not-accessible
    STATUS         current
    DESCRIPTION
"AL port virtual mapping table"
    ::= { nishanFCsw 17 }

fcswALPortMappingEntry OBJECT-TYPE
    SYNTAX         FcswALPortMappingEntry
    MAX-ACCESS         not-accessible
    STATUS         current
    DESCRIPTION
"Entry containing mapping information for a AL port."
    INDEX         { fcswALFcAddressId }
    ::= { fcswALPortMappingTable 1 }

FcswALPortMappingEntry ::= SEQUENCE {
    fcswALFcAddressId              FCIDtype,
    fcswALVirtualFcAddressId       FCIDtype
          }

fcswALFcAddressId OBJECT-TYPE
    SYNTAX      FCIDtype
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
"AL port real FC Address ID."
    ::= { fcswALPortMappingEntry 1 }

fcswALVirtualFcAddressId OBJECT-TYPE
    SYNTAX      FCIDtype
    MAX-ACCESS  read-only
    STATUS      current
    DESCRIPTION
"AL port virtual FC Address ID."
    ::= { fcswALPortMappingEntry 2 }

--
-- Naming Service's Node Table
--

fcswNsNodeTable     OBJECT-TYPE
     SYNTAX          SEQUENCE OF FcswNsNodeEntry
     MAX-ACCESS          not-accessible
     STATUS          current
     DESCRIPTION
"The SNS Node table for this SAN."
     ::= { nishanFCsw 18 }

fcswNsNodeEntry     OBJECT-TYPE
     SYNTAX          FcswNsNodeEntry
     MAX-ACCESS          not-accessible
     STATUS          current
     DESCRIPTION
"An entry of the Node in the Name Server database."
     INDEX          { fcswNsNodeWwn }
     ::= { fcswNsNodeTable 1 }

FcswNsNodeEntry ::= SEQUENCE {
     fcswNtNsNodeWwn               WWNtype,
     fcswNtNsNodeIpAddress         OCTET STRING,
     fcswNtNsNodeSymb              OCTET STRING,
     fcswNtNsNodeIPA               OCTET STRING
  }

fcswNtNsNodeWwn          OBJECT-TYPE
     SYNTAX              WWNtype
     MAX-ACCESS              read-only
     STATUS              current
     DESCRIPTION
"The object identifies the Fibre Channel World Wide Name of the
 associated node as defined in FC-GS-3."
     ::= { fcswNsNodeEntry 1 }

fcswNtNsNodeIpAddress        OBJECT-TYPE
     SYNTAX                  OCTET STRING (SIZE(16))
     MAX-ACCESS                  read-only
     STATUS                  current
     DESCRIPTION
"The IP address of the node as defined in FC-GS-3. The
 format of the address is in IPv6. When an IPv4 value is
 contained in this field, the most significant 12 bytes
 are set to 0x00.  By convention, this IP Address can be
 used as the management IP Address for the device."
     ::= { fcswNsNodeEntry 2 }

fcswNtNsNodeSymb    OBJECT-TYPE
    SYNTAX          OCTET STRING (SIZE(0..255))
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
"The Symbolic Name of the node as defined in FC-GS-3.  This
 is a variable-length text-based description of up to 255
 bytes, that is associated with the device node in the network.
 This field is normally provided during device registration.
 However, a network management application can update this
 field as required."
    ::= { fcswNsNodeEntry 3 }

fcswNtNsNodeIPA   OBJECT-TYPE
    SYNTAX        OCTET STRING (SIZE(8))
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION
"The object identifies the Initial Process Associator of the
 node for the entry as defined in FC-GS-2."
    ::= { fcswNsNodeEntry 4 }

fcpPortTable     OBJECT-TYPE
-- not supported in IPS Series 1000 switches
     SYNTAX      SEQUENCE  OF  FcpPortEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
"This table gives/stores registered SCSI FCP targets properties."
     ::=  { nishanFCsw 19 }

fcpPortEntry     OBJECT-TYPE
     SYNTAX      FcpPortEntry
     MAX-ACCESS  not-accessible
     STATUS      current
     DESCRIPTION
"This table gives/stores registered SCSI FCP targets properties."
     INDEX       { fpPortName}
     ::=  { fcpPortTable 1 }

FcpPortEntry  ::=  SEQUENCE {
     fpPortName              WWNtype,
     fpRemovable             TruthValue,
     fpAnsiVersion           INTEGER,
     fpVendorId              DisplayString,
     fpProductId             DisplayString,
     fpProductRevision       DisplayString,
     fpLogicalBlocks         INTEGER,
     fpBlockLength           INTEGER,
     fpCapacity              INTEGER,
     fpDeviceType            Integer32
     }

fpPortName          OBJECT-TYPE
     SYNTAX         WWNtype
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
"8-byte World Wide Portname."
     ::= {fcpPortEntry  1  }

fpRemovable         OBJECT-TYPE
     SYNTAX         TruthValue
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
"Identifies that this device has removable media.
    False. Media is not removable.
    True. Media is removable."
     ::=  { fcpPortEntry  2 }

fpAnsiVersion     OBJECT-TYPE
     SYNTAX          INTEGER (0..7)
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
"Indicates the implement ANSI version of this device.
     0     - might or might not comply to ANSI standards.
     1     - complies to ANSI X3.131-1966 (SCSI-I).
     2     - compiles to ANSI ????? (SCSI-II).
     3 - 7 - reserved."
     ::=  { fcpPortEntry  3 }

fpVendorId          OBJECT-TYPE
     SYNTAX          DisplayString
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
"Indicates the vendor ID."
     ::=  { fcpPortEntry  4 }

fpProductId     OBJECT-TYPE
     SYNTAX          DisplayString
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
"Indicates the Product ID."
      ::=  { fcpPortEntry  5 }

fpProductRevision     OBJECT-TYPE
     SYNTAX           DisplayString
     MAX-ACCESS       read-only
     STATUS           current
     DESCRIPTION
"Indicates the Product Revision."
     ::=  { fcpPortEntry  6 }

fpLogicalBlocks      OBJECT-TYPE
     SYNTAX          INTEGER (0..2147483647)
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
"A 32-bit value that represents the total number of logical
 blocks for this device. Octet 1 is the LSB, octet 4 is the MSB."
     ::=  { fcpPortEntry  7 }

fpBlockLength        OBJECT-TYPE
     SYNTAX          INTEGER (0..2147483647)
     MAX-ACCESS      read-only
     STATUS          current
     DESCRIPTION
"A 32-bit value that represents the size of the logical block for this
 device. Octet 1 is the LSB, octet 4 is the MSB."
     ::=  { fcpPortEntry  8 }

fpCapacity          OBJECT-TYPE
     SYNTAX         INTEGER (0..2147483647)
     UNITS          "megabytes"
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
"A value that represents the capacity of the device in megabytes. One
 MegaByte equals to 1,048,576 when calculating this value."
      ::=  { fcpPortEntry  9 }

fpDeviceType        OBJECT-TYPE
-- Range removed to avoid MIB compiler errors.
-- This should be an Unsigned32 or octet string, but the agent returns an ASN.1 INTEGER.
--   SYNTAX         INTEGER (0 .. 4294967295)
     SYNTAX         Integer32
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
"Byte 0 gives SCSI device type Identifies the type of SCSI Device:
               Code          Description
               ---------------
               00h          Direct-access device.
               01h          Sequential-access device.
               02h          Printer device.
               03h          Processor device.
               04h          WORM device.
               05h          CD-ROM device.
               06h          Scanner device.
               07h          Optical Memory device.
               08h          Medium Changer device.
               09h          Communications device
               0Ah - 1Eh     Reserved.
               1Fh          Unknown or no device type.

        Byte 1 gives FC Port Type;
             0 INVALID
             1 PRIVATE
             2 PUBLIC
             3 ALIEN

        Byte 2 is a bit-map that indicates device role;
             Both Bits 0,1 = 0 means device role is UNKNOWN.
             Bit 0 = 1 means role is TARGET
             Bit 1 = 1 means role is INITIATOR
             Both Bits 0,1 = 1 means role is TARGET AND INITIATOR

        Byte 3 is reserved.
         ."
      ::=  { fcpPortEntry  10 }

--
-- Fibre Channel Name Server Configuration
--

fcswSNSCommPortSet        OBJECT-TYPE
     SYNTAX               INTEGER (0..65535)
     MAX-ACCESS           read-write
     STATUS               current
     DESCRIPTION
"For software versions before 4.1, this variable
 indicates the UDP/TCP port that the local SNS entity will
 use after the next reset of the switch.  
For software version 4.1 and later, this variable indicates
 the UDP/TCP port currently used by SNS.  Any changes
 take effect immediately.
All switches in the SAN must use the same port number for 
 proper operation.
"
     ::= {nishanFCsw 20 }

fcswSNSCommPortCurrent     OBJECT-TYPE
     SYNTAX                INTEGER (0..65535)
     MAX-ACCESS            read-only
     STATUS                current
     DESCRIPTION
"The current UDP port being used for name server communication.
For software version 4.1 and later, this variable returns the
same value as fcswSNSCommPortSet.
"
     ::= {nishanFCsw 21 }

fcswSNSL3McastGrpSet       OBJECT-TYPE
     SYNTAX                IpAddress
     MAX-ACCESS            read-write
     STATUS                current
     DESCRIPTION
"For software versions before 4.1, this variable
  indicates the multicast group that the local SNS entity
  will use after the next reset of the switch.
For software version 4.1 and later, this variable
  indicates the multicast group currently being used
  by SNS.  Any changes take effect immediately.  
All switches in the SAN must use the same multicast group for
  proper functionality.  This group is only used if multicast
  communication has been set."
     ::= {nishanFCsw 22 }

fcswSNSL3McastGrpCurrent   OBJECT-TYPE
     SYNTAX                IpAddress
     MAX-ACCESS            read-only
     STATUS                current
     DESCRIPTION
"The current multicast group being used for name
 server communication.  This group is only valid if multicast
 communication has been set.
For software version 4.1 or later, this variable returns the
 same value as fcswSNSL3McastGrpSet."
     ::= {nishanFCsw 23 }

fcswNumSNSPorts            OBJECT-TYPE
     SYNTAX                INTEGER (0..65535)
     MAX-ACCESS            read-only
     STATUS                current
     DESCRIPTION
"The current number of entries in Name Server's port table."
     ::= { nishanFCsw 24 }

fcswNumSNSNodes            OBJECT-TYPE
     SYNTAX                INTEGER (0..65535)
     MAX-ACCESS            read-only
     STATUS                current
     DESCRIPTION
"The current number of entries in Name Server's node table."
     ::= { nishanFCsw 25 }

fcswNumSNSZones       OBJECT-TYPE
    SYNTAX            INTEGER (0..65535)
    MAX-ACCESS        read-only
    STATUS            current
    DESCRIPTION
"The current total number of entries in SNS zone table."
    ::= { nishanFCsw 26}

fcswSNSCommTypeSet        OBJECT-TYPE
-- not supported in IPS Series 1000, 3000, 4000, or 5000 switches
     SYNTAX                   INTEGER {udp(0), tcp(1), mcast(2)}
     MAX-ACCESS               read-write
     STATUS                   current
     DESCRIPTION
"Indicates the communication type that the SNS will use after the next
 reinitialization.  All SNS clients in the network must use
 the same communication type for proper functionality.
This variable is not yet implemented. "
     ::= {nishanFCsw 27 }

fcswSNSCommTypeCurrent    OBJECT-TYPE
-- not supported in IPS Series 1000, 3000, 4000, or 5000 switches
     SYNTAX                   INTEGER {udp(0), tcp(1), mcast(2)}
     MAX-ACCESS               read-only
     STATUS                   current
     DESCRIPTION
"The communication type that the SNS is currently using for
 communication. All SNS clients in the network must use
 the same communication type for proper functionality."
     ::= {nishanFCsw 28 }


--
-- SNS IP Address Table for Unicast Communication Configuration
--
-- Support for this table is planned in IPS Series 3000 switches,
-- but is not yet implemented.
-- This table is not supported on IPS Series 1000 or 2000 switches.

fcswSNSUnicastCfgTable     OBJECT-TYPE
-- not supported in IPS Series 1000 switches
     SYNTAX          SEQUENCE OF FcswSNSUnicastCfgEntry
     MAX-ACCESS      not-accessible
     STATUS          current
     DESCRIPTION
"SNS IP Address Table for Unicast Communication Configuration."
     ::= { nishanFCsw 29 }

fcswSNSUnicastCfgEntry     OBJECT-TYPE
     SYNTAX          FcswSNSUnicastCfgEntry
     MAX-ACCESS      not-accessible
     STATUS          current
     DESCRIPTION
"An SNS server entry in the unicast configuration table."
     INDEX          { fcswSNSUnicastCfgIndex }
     ::= { fcswSNSUnicastCfgTable 1 }

FcswSNSUnicastCfgEntry ::= SEQUENCE {
     fcswSNSUnicastCfgIndex             INTEGER,
     fcswSNSUnicastCfgIpAddress         OCTET STRING,
     fcswSNSUnicastCfgRowStatus         RowStatus
  }

fcswSNSUnicastCfgIndex      OBJECT-TYPE
     SYNTAX                 INTEGER ( 1 .. 5 )
     MAX-ACCESS             read-only
     STATUS                 current
     DESCRIPTION
"This indicates the position in the list of SNS server IP Address
 entries.  Each SNS server in the unicast configured network
 should be in this table, with the highest priority server listed
 with priority of 1."
     ::= { fcswSNSUnicastCfgEntry 1 }

fcswSNSUnicastCfgIpAddress        OBJECT-TYPE
     SYNTAX                       OCTET STRING (SIZE(16))
     MAX-ACCESS                   read-create
     STATUS                       current
     DESCRIPTION
"The object identifies the IP address of the SNS server.  Each
 SNS server in the unicast configured network should be in
 this table."
     ::= { fcswSNSUnicastCfgEntry 2 }

fcswSNSUnicastCfgRowStatus       OBJECT-TYPE
     SYNTAX                      RowStatus
     MAX-ACCESS                  read-create
     STATUS                      current
     DESCRIPTION
"This object indicates the status of this entry.
         active (1),         read-write
         notInService (2),   read-write
         notReady (3),       read-only
         createAndGo (4),    write-only
         createAndWait (5),  write-only
         destroy (6),        write-only"
    ::= { fcswSNSUnicastCfgEntry 3 }

-- SNS Version info

fcswSNSrevInfo    OBJECT IDENTIFIER ::=  { nishanFCsw 30 }

fcswSNSrevLclVer              OBJECT-TYPE
-- not supported in IPS Series 1000/2000 switches
     SYNTAX                   INTEGER (0 .. 1024)
     MAX-ACCESS               read-only
     STATUS                   current
     DESCRIPTION
"The version of the local SNS on this switch.
One of the switches with the highest SNS version,
and then SNS priority, will become the primary SNS
for the network.  The SNS version is fixed for a
specific firmware release."
     ::= { fcswSNSrevInfo 1 }

fcswSNSrevLclPriority         OBJECT-TYPE
-- not supported in IPS Series 1000/2000 switches
     SYNTAX                   INTEGER (0 .. 128)
     MAX-ACCESS               read-write
     STATUS                   current
     DESCRIPTION
"DURABLE:
The priority of the local SNS on this switch.
One of the switches with the highest SNS version,
and then SNS priority, will become the primary SNS
for the network.  Higher values indicate higher
priority. The SNS Priority is configurable by the
user."
     ::= { fcswSNSrevInfo 2 }


--
-- ZONE SET INFO
--

fcswSNSzsInfo    OBJECT IDENTIFIER ::=  { nishanFCsw 31 }

fcswSNSzstTable OBJECT-TYPE
    SYNTAX      SEQUENCE OF FcswSNSzstEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
"A table containing configuration information for each
ZONE SET configured into the device by (local or network)
management.  All entries are permanent once saved to flash
and will be restored after the device is reset."
    ::= { fcswSNSzsInfo 1 }

fcswSNSzstEntry OBJECT-TYPE
    SYNTAX      FcswSNSzstEntry
    MAX-ACCESS  not-accessible
    STATUS      current
    DESCRIPTION
"Configuration information for a ZONE SET configured into
the device by (local or network) management."
    INDEX   { fcswSNSzstZoneSetID }
    ::= { fcswSNSzstTable 1 }

FcswSNSzstEntry ::=
    SEQUENCE {
      fcswSNSzstZoneSetID      INTEGER,
      fcswSNSzstSymbolicName   OCTET STRING,
      fcswSNSzstStatus         INTEGER,
      fcswSNSzstZoneMap        OCTET STRING,
      fcswSNSzstRowStatus      RowStatus
             }

fcswSNSzstZoneSetID      OBJECT-TYPE
    SYNTAX               INTEGER (1..64)
    MAX-ACCESS           read-only
    STATUS               current
    DESCRIPTION
"DURABLE: { 0:all }
 The ZONE SET ID that refers to this ZONE SET."
    ::= { fcswSNSzstEntry 1 }

fcswSNSzstSymbolicName   OBJECT-TYPE
    SYNTAX               OCTET STRING (SIZE (0 .. 64))
    MAX-ACCESS           read-create
    STATUS               current
    DESCRIPTION
"DURABLE: { 0:all }
The Zone Set Symbolic Name field may be used to contain
a variable length field (from 0 to 64) that is associated
with the Zone Set.  If the name is not registered, then
the length of this field is set to zero bytes."
    ::= { fcswSNSzstEntry 2 }

fcswSNSzstStatus         OBJECT-TYPE
    SYNTAX               INTEGER { disabled (0), enabled (1) }
    MAX-ACCESS           read-create
    STATUS               current
    DESCRIPTION
"DURABLE: { 0:all }
 ZONE SET STATUS indicates whether the Zone Set is currently enabled."
    ::= { fcswSNSzstEntry 3 }

fcswSNSzstZoneMap        OBJECT-TYPE
    SYNTAX               OCTET STRING (SIZE (0 .. 512))
    MAX-ACCESS           read-create
    STATUS               current
    DESCRIPTION
"DURABLE: { 0:all }
The ZONE SET ZONE MAP is a bitmap that indicates which Zones are
members of this Zone Set."
    ::= { fcswSNSzstEntry 4 }

fcswSNSzstRowStatus      OBJECT-TYPE
    SYNTAX               RowStatus
    MAX-ACCESS           read-create
    STATUS               current
    DESCRIPTION
"This object indicates the status of this entry.
         active (1),         read-write
         notInService (2),   read-write
         notReady (3),       read-only
         createAndGo (4),    write-only
         createAndWait (5),  write-only
         destroy (6),        write-only"
    ::= { fcswSNSzstEntry 5 }

-- =======================================================================
-- iSCSI LUN Mapping and Masking
-- =======================================================================
-- This section is supported on IPS Series 3000/4000/5000 switches for software
-- release 3.0 and above.

fcswSNSLunMapping         OBJECT-TYPE
     SYNTAX               INTEGER {disable(0), enable(1)}
     MAX-ACCESS           read-write
     STATUS               current
     DESCRIPTION          "Indicates whether LUN Masking/Mapping is enabled or disabled."
     ::= {nishanFCsw 32 }

fcswLunsTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF FcswLunsEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   "Contains status parameters specific to LUNs."
        ::= { nishanFCsw 33 }

fcswLunsEntry       OBJECT-TYPE
     SYNTAX         FcswLunsEntry
     MAX-ACCESS     not-accessible
     STATUS         current
     DESCRIPTION
          "Information for Nishan FC Targets."
     INDEX   {fcswTargetWWN}
     ::= {fcswLunsTable 1}

FcswLunsEntry ::=
     SEQUENCE {
      fcswTargetWWN     WWNtype,
      fcswNumberOfLuns  INTEGER
     }

fcswTargetWWN       OBJECT-TYPE
     SYNTAX         WWNtype
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
         "The Port WWN for this FC target."
     ::= { fcswLunsEntry 1 }

fcswNumberOfLuns        OBJECT-TYPE
    SYNTAX              INTEGER (0..255)
    MAX-ACCESS          read-only
    STATUS              current
    DESCRIPTION
"This object contains the number of Luns for this target."
    ::= { fcswLunsEntry 2 }

-- =========================================================
-- fcswLunInfoTable
-- =========================================================

fcswLunInfoTable      OBJECT-TYPE
        SYNTAX        SEQUENCE OF FcswLunInfoEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   "Contains status parameters specific to LUNs."
        ::= { nishanFCsw 34 }

fcswLunInfoEntry    OBJECT-TYPE
     SYNTAX         FcswLunInfoEntry
     MAX-ACCESS     not-accessible
     STATUS         current
     DESCRIPTION    "Information for the Nishan SNS LUNs."
     INDEX          { fcswfcTargetWWN,
                      fcswLunIndex }
     ::= {fcswLunInfoTable 1}

FcswLunInfoEntry ::=
     SEQUENCE {
      fcswfcTargetWWN       WWNtype,
      fcswLunIndex          INTEGER,
      fcswLunWWN            WWNtype,
      fcswLunVendorId       DisplayString,
      fcswLunProductId      DisplayString,
      fcswLunProductRev     DisplayString,
      fcswLunLogicalBlocks  Integer32,
      fcswLunLBLength       Integer32,
      fcswLunCapacity       Integer32,
      fcswLunDeviceType     Integer32,
      fcswLunRemovable      TruthValue,
      fcswLunScsiVersion    Integer32,
      fcswLunNumber         Integer32
     }

fcswfcTargetWWN     OBJECT-TYPE
     SYNTAX         WWNtype
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
         "The Port WWN for this FC target."
     ::= { fcswLunInfoEntry 1 }


fcswLunIndex       OBJECT-TYPE
     SYNTAX         INTEGER (1..256)
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
          "The sequential index for the table. "
     ::= {fcswLunInfoEntry 2}

fcswLunWWN          OBJECT-TYPE
     SYNTAX         WWNtype
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
         "The Lun WWN, if available for this LUN."
     ::= { fcswLunInfoEntry 3 }

fcswLunVendorId     OBJECT-TYPE
     SYNTAX         DisplayString
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
         "The Vendor ID for this LUN."
     ::= { fcswLunInfoEntry 4 }

fcswLunProductId    OBJECT-TYPE
     SYNTAX         DisplayString
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
         "The Produc ID for this LUN."
     ::= { fcswLunInfoEntry 5 }

fcswLunProductRev   OBJECT-TYPE
     SYNTAX         DisplayString
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
         "The Product Revision for this LUN."
     ::= { fcswLunInfoEntry 6 }

fcswLunLogicalBlocks  OBJECT-TYPE
     SYNTAX           Integer32
     MAX-ACCESS       read-only
     STATUS           current
     DESCRIPTION
         "A 32-bit value that represents the total number of logical
 blocks for this device."
     ::= { fcswLunInfoEntry 7}

fcswLunLBLength     OBJECT-TYPE
     SYNTAX         Integer32
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
         "A 32-bit value that represents the size of the logical block for this
 device, in bytes.  Typical values are 512, 1024, 2048..."
     ::= { fcswLunInfoEntry 8}

fcswLunCapacity     OBJECT-TYPE
     SYNTAX         Integer32
     UNITS          "megabytes"
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
"A value that represents the capacity of the device in megabytes. One
 MegaByte equals to 1,048,576 when calculating this value."
      ::=  { fcswLunInfoEntry  9}

fcswLunDeviceType   OBJECT-TYPE
     SYNTAX         Integer32
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
"Byte 0 gives SCSI device type Identifies the type of SCSI Device:
               Code         Description
               -------------------------------------
               00h          Direct-access device
               01h          Sequential-access device
               02h          Printer device
               03h          Processor device
               04h          Write-once device
               05h          CD-ROM device
               06h          Scanner device
               07h          Optical Memory device
               08h          Medium Changer device
               09h          Communications device
               0Ah - 0Bh    Graphics arts pre-press devices
               0Ch          Storage array controller (RAID)
               0Dh          Enclosure services device
               0Eh          Simp. direct-access dev (mag disk)
               0Fh          Optical card reader/writer device
               10h          Reserved
               11h          Object-based Storage Device
               12h - 1Eh    Reserved
               1Fh          Unknown or no device type

        Byte 1 gives FC Port Type;
             0 INVALID
             1 PRIVATE
             2 PUBLIC
             3 ALIEN

        Byte 2 is a bit-map that indicates device role;
             Both Bits 0,1 = 0 means device role is UNKNOWN.
             Bit 0 = 1 means role is TARGET
             Bit 1 = 1 means role is INITIATOR
             Both Bits 0,1 = 1 means role is TARGET AND INITIATOR

        Byte 3 is reserved.
         ."
      ::=  { fcswLunInfoEntry  10 }

 fcswLunRemovable   OBJECT-TYPE
     SYNTAX         TruthValue
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
"Identifies that this device has removable media.
    False. Media is not removable.
    True. Media is removable."
     ::=  { fcswLunInfoEntry  11 }

fcswLunScsiVersion   OBJECT-TYPE
    SYNTAX           Integer32 (0..255)
    MAX-ACCESS       read-only
    STATUS           current
    DESCRIPTION
"The SCSI Version supported as reported by the Inquiry
 command as defined in SCSI Primary Commands - 2 (SPC-2).
               Code         Description
               -------------------------------------
               00h          conformance not specified
               01h          Obsolete (SCSI-I)
               02h          (SCSI-II)
               03h          (SCSI-III)
               04h          Complies to SPC-2
               82h          (SCSI-II) & ISO/IEC 9316:1995
               83h          (SCSI-III) & ISO/IEC 9316:1995
               84h          Complies to SPC-2 & ISO/IEC 9316:1995
 Other values are also defined.  The above list shows current
 pertinent values."
    ::= { fcswLunInfoEntry 12 }

fcswLunNumber        OBJECT-TYPE
    SYNTAX           Integer32
    MAX-ACCESS       read-only
    STATUS           current
    DESCRIPTION
"The physical LUN number that contains the 2 byte LUN Field. The upper
byte has the address field, which might be used in older RAID systems.
The lower byte contains the lun value itself. For ex. 0x40 is the
upper byte for certain RAID systems to indicate no lun hierarchy."
   ::= { fcswLunInfoEntry 13 }

-- ---------------------------------------------------------
-- ---- fcswLunMappingTable --------------------------------
-- ---------------------------------------------------------

fcswLunMappingTable   OBJECT-TYPE
        SYNTAX        SEQUENCE OF FcswLunMappingEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   "Contains status parameters specific to LUNs."
        ::= { nishanFCsw 35 }

fcswLunMappingEntry   OBJECT-TYPE
     SYNTAX           FcswLunMappingEntry
     MAX-ACCESS       not-accessible
     STATUS           current
     DESCRIPTION      "Information for the Nishan SNS LUNs."
     INDEX            { fcswfcDeviceWWN,
                        fcswZoneId,
                        fcswPLunIndex }
     ::= {fcswLunMappingTable 1}

FcswLunMappingEntry ::=
     SEQUENCE {
          fcswfcDeviceWWN      WWNtype,
          fcswZoneId           INTEGER,
          fcswPLunIndex        INTEGER,
          fcswVLuNumber        INTEGER,
          fcswLunMaskedStatus  INTEGER
     }

fcswfcDeviceWWN         OBJECT-TYPE
     SYNTAX             WWNtype
     MAX-ACCESS         read-only
     STATUS             current
     DESCRIPTION
         "The Port WWN for this FC target."
     ::= { fcswLunMappingEntry 1 }

fcswZoneId          OBJECT-TYPE
     SYNTAX         INTEGER (1..512)
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
          "This value is the zone id for which this mapping is done."
     ::= {fcswLunMappingEntry 2}

fcswPLunIndex       OBJECT-TYPE
     SYNTAX         INTEGER (1..256)
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
          "This is the index of the physical LUN from the lun info table."
     ::= {fcswLunMappingEntry 3}

fcswVLuNumber      OBJECT-TYPE
     SYNTAX         INTEGER (0..65535)
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
          "This is the assigned Virtual Lun Number for the FC lun."
     ::= {fcswLunMappingEntry 4}

fcswLunMaskedStatus OBJECT-TYPE
    SYNTAX          INTEGER { visible(1), invisible(2), delete(3) }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
    "This object indicates the status of this LUN, whether it is masked or not.
         visible (1),     - not-masked
         invisible (2),   - masked
         delete (3)       - delete the mapping for this zone.
     If the lun mapping becomes invalid, then the existing value is OR'd by 8.
     i.e. 4th bit is set to 1. For. ex, if the value is 10 (1010), then this lun was
     invisible before the lun map became in-valid.

     One of the reasons that the lun map could be invalid is if the lun registration
     fails after a device is plugged-in.
        "
    ::= { fcswLunMappingEntry 5 }


-- =======================================================================
-- Chassis information
-- =======================================================================
-- This section is only supported on IPS Series 3000/4000/5000 switches.
-- This section is not supported on IPS Series 1000 and 2000 switches.

nishanFCswChassis     OBJECT IDENTIFIER ::=  {  nishanMgmt 9  }

-- PHYSICAL Elements

fcswChasType OBJECT-TYPE
     SYNTAX           INTEGER {
          pebrine2(1),  -- P2 box
          others(2)     -- other boxes
     }
     MAX-ACCESS            read-only
     STATUS            current
     DESCRIPTION   "Chassis Type"
        ::= { nishanFCswChassis 1 }

fcswChasSerialNumber OBJECT-TYPE
     SYNTAX        DisplayString (SIZE (0..8))
     MAX-ACCESS        read-only
     STATUS        current
     DESCRIPTION
"Unique serial number for this chassis."
     ::= { nishanFCswChassis 2 }

fcswChasHardwareRevision OBJECT-TYPE
     SYNTAX            DisplayString (SIZE (0..20))
     MAX-ACCESS            read-only
     STATUS            current
     DESCRIPTION
"Device hardware revision level"
     ::= { nishanFCswChassis 3 }

fcswChasPartNumber OBJECT-TYPE
     SYNTAX             DisplayString (SIZE (0..6))
     MAX-ACCESS             read-only
     STATUS             current
     DESCRIPTION
"Chassis Part Number"
     ::= { nishanFCswChassis 4 }

fcswChasNumSlots OBJECT-TYPE
        SYNTAX        INTEGER (1..16)
        MAX-ACCESS        read-only
        STATUS        current
        DESCRIPTION   "The number of slots in the chassis available for
                      plug-in cards."
        ::= { nishanFCswChassis 5 }

fcswChasNumPorts OBJECT-TYPE
        SYNTAX        INTEGER (0..255)
        MAX-ACCESS        read-only
        STATUS        current
        DESCRIPTION   "The total number of ports currently installed in
                the chassis."
        ::= { nishanFCswChassis 6 }

fcswChasNumFcPorts OBJECT-TYPE
        SYNTAX        INTEGER (0..255)
        MAX-ACCESS        read-only
        STATUS        current
        DESCRIPTION   "The total number of Fibre Channel ports currently
                      installed the chassis."
        ::= { nishanFCswChassis 7 }

fcswChasNumPowerSupply OBJECT-TYPE
        SYNTAX        INTEGER (0..255)
        MAX-ACCESS        read-only
        STATUS        current
        DESCRIPTION   "The total number of Power Supply currently
                      installed in the chassis."
        ::= { nishanFCswChassis 8 }

fcswChasNumFans OBJECT-TYPE
        SYNTAX        INTEGER (0..255)
        MAX-ACCESS        read-only
        STATUS        current
        DESCRIPTION   "The total number of Fans currently installed in
                the chassis."
        ::= { nishanFCswChassis 9 }

--
-- fan
--

fcswChasFan OBJECT IDENTIFIER ::= { nishanFCswChassis 10 }

fcswChasFanTable OBJECT-TYPE
     SYNTAX        SEQUENCE OF FcswChasFanEntry
     MAX-ACCESS        not-accessible
     STATUS        current
     DESCRIPTION   "This table contains information about Fan."
     ::= { fcswChasFan 1 }

fcswChasFanEntry OBJECT-TYPE
     SYNTAX        FcswChasFanEntry
     MAX-ACCESS        not-accessible
     STATUS        current
     DESCRIPTION   "Contains information regarding a power supply
                unit."
     INDEX         { fcswChasFanIndex }
     ::= { fcswChasFanTable 1 }

FcswChasFanEntry ::=
     SEQUENCE {
        fcswChasFanIndex        INTEGER,
        fcswChasFanDescr        DisplayString,
        fcswChasFanPartNumber   DisplayString,
        fcswChasFanOperStatus   INTEGER,
        fcswChasFanValue        INTEGER
     }

fcswChasFanIndex OBJECT-TYPE
     SYNTAX        INTEGER(1..2)
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION
          "An index to this fan instance."
     ::= { fcswChasFanEntry 1 }

fcswChasFanDescr          OBJECT-TYPE
     SYNTAX          DisplayString (SIZE (0..14))
     MAX-ACCESS     read-only
     STATUS          current
     DESCRIPTION
          "A textual description of the
           location of the fan."
     ::=  { fcswChasFanEntry  2 }

fcswChasFanPartNumber OBJECT-TYPE
    SYNTAX             DisplayString (SIZE (0..6))
    MAX-ACCESS         read-only
    STATUS             obsolete
    DESCRIPTION        "Fan Part Number -- note:  this object has
been obsoleted as the part number cannot always be determined."
    ::= { fcswChasFanEntry 3 }


fcswChasFanOperStatus OBJECT-TYPE
     SYNTAX        INTEGER {
                   unknown(1),
                   norma(2),
                   critical(3),
                   warning(4)
                   }
     MAX-ACCESS        read-only
     STATUS        current
     DESCRIPTION 
     "Actual status of the Fan:
      - unknown(1) - status can not be determined.
      - normal(2)  - present and operating within a 20% variance of acceptable fan speeds.
      - critical(3)- present but operating above a 40% variance of acceptable fan speeds.
      - warning(4) - present and operating between 20 to 40% variance of acceptable fan
                     speeds."
     ::= { fcswChasFanEntry 4 }

fcswChasFanValue          OBJECT-TYPE
     SYNTAX          INTEGER (0 .. 65535)
     MAX-ACCESS     read-only
     STATUS          current
     DESCRIPTION
          "The current value (in RPMS) of the measured FAN"
     ::= { fcswChasFanEntry 5 }

--
-- Power Supply
--


fcswChasPowerSupply OBJECT IDENTIFIER ::= { nishanFCswChassis 11 }

fcswChasPowerSupplyTable OBJECT-TYPE
     SYNTAX             SEQUENCE OF FcswChasPowerSupplyEntry
     MAX-ACCESS             not-accessible
     STATUS             current
     DESCRIPTION        "This table contains information about power
                     supplies."
     ::= { fcswChasPowerSupply 1 }

fcswChasPowerSupplyEntry OBJECT-TYPE
     SYNTAX             FcswChasPowerSupplyEntry
     MAX-ACCESS             not-accessible
     STATUS             current
     DESCRIPTION        "Contains information regarding a power supply
                     unit."
     INDEX  { fcswChasPowerSupplyId }
     ::= { fcswChasPowerSupplyTable 1 }

FcswChasPowerSupplyEntry ::=
     SEQUENCE {
          fcswChasPowerSupplyId         INTEGER,
          fcswChasPowerSupplyOperStatus INTEGER,
          fcswChasPowerSupplyPartNumber DisplayString
     }

fcswChasPowerSupplyId OBJECT-TYPE
     SYNTAX             INTEGER(1..2)
     MAX-ACCESS         read-only
     STATUS             current
     DESCRIPTION   "Identifier for a power supply instance."
     ::= { fcswChasPowerSupplyEntry 1 }


fcswChasPowerSupplyOperStatus OBJECT-TYPE
     SYNTAX         INTEGER {
                    unknown(1),
                    empty(2),
                    up(3),
                     down(4)
                    }
     MAX-ACCESS         read-only
     STATUS         current
     DESCRIPTION   "Actual status of the power supply:
                   - unknown(1) - status can not be determined.
                   - empty(2) - power supply not installed.
                   - up(3) - present and supplying power.
                   - down(4) - present, but failure indicated."
     ::= { fcswChasPowerSupplyEntry 2 }

fcswChasPowerSupplyPartNumber OBJECT-TYPE
        SYNTAX             DisplayString (SIZE (0..6))
        MAX-ACCESS             read-only
        STATUS             current
        DESCRIPTION        "Power Supply Part Number"
        ::= { fcswChasPowerSupplyEntry 3 }


--
-- Expansion Card Table
--


fcswCard OBJECT IDENTIFIER ::= { nishanFCswChassis 12 }

fcswCardTable OBJECT-TYPE
     SYNTAX        SEQUENCE OF FcswCardEntry
     MAX-ACCESS        not-accessible
     STATUS        current
     DESCRIPTION   "A table that contains information about the
                  expansion cards in this chassis.  For those slots
                  that do not contain a physical card, the table may
                    be implemented to contain a conceptual row
                  with the type of physical module set to
                     'chasCardEmpty', or it may be implemented to
                    have no conceptual row instance."
     ::= { fcswCard 1 }

fcswCardEntry OBJECT-TYPE
     SYNTAX        FcswCardEntry
     MAX-ACCESS        not-accessible
     STATUS        current
     DESCRIPTION   "Card attributes"
     INDEX         { fcswCardIndex }
     ::= { fcswCardTable 1 }

FcswCardEntry ::=
     SEQUENCE {
          fcswCardIndex INTEGER,
          fcswCardType INTEGER,
          fcswCardSerialNumber DisplayString,
          fcswCardHardwareRevision DisplayString,
          fcswCardOperStatus INTEGER,
          fcswCardPartNumber DisplayString
     }

fcswCardIndex OBJECT-TYPE
        SYNTAX             INTEGER (1..8)
        MAX-ACCESS             read-only
        STATUS            current
        DESCRIPTION        "A unique value for each expansion module within the
                        chassis. This value is determined by the chassis slot
                        number where the module is inserted.  Valid entries are 1
                           to the value of fcswChasNumSlots"
        ::= { fcswCardEntry 1 }

fcswCardType OBJECT-TYPE
    SYNTAX INTEGER {
          other(1),                       -- no card installed
          twoxfcGe(2),                    -- Two dual-mode FC/GE connections
          twoxutpGe(3),                   -- Two UTP GE connections
          twoxetherGbic(4),               -- Two 70-100km Ethernet GBICs
          twoxetherGbicCams(5),           -- Two Ethernet GBIC or UTP ports with CAMs
          twoxatm(6),                     -- Two ATM ports
          twoxsonet(7),                   -- Two SONET ports
          twoxgeFc(8),                    -- Two GE/FC ports with Gateway functionality
          routerModule(9),                -- Intelligent Storage Router Module
          twoxescon(10),                  -- Two ESCON Links
          twoxiFCP(11),                   -- Two iFCP WAN link ports
          twoxutpgbic(12)                 -- Two UTP FastEthernet and two GBIC FC/GE ports
  }
     MAX-ACCESS        read-only
     STATUS            current
     DESCRIPTION   "Used to indicate a card type."
     ::= { fcswCardEntry 2 }

fcswCardSerialNumber OBJECT-TYPE
     SYNTAX        DisplayString (SIZE (0..8))
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION   "Unique serial number for this card."
     ::= { fcswCardEntry 3 }

fcswCardHardwareRevision OBJECT-TYPE
     SYNTAX        DisplayString (SIZE (0..8))
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION   "Hardware Version"
     ::= { fcswCardEntry 4 }

fcswCardOperStatus OBJECT-TYPE
     SYNTAX        INTEGER {
                    up(1),
                    down(2),
                    testing(3),
                    unknown(4)
                      }
     MAX-ACCESS    read-only
     STATUS        current
     DESCRIPTION   "Used to indicate the operational status of this card."
     ::= { fcswCardEntry 5 }



fcswCardPartNumber OBJECT-TYPE
        SYNTAX             DisplayString (SIZE (0..6))
        MAX-ACCESS         read-only
        STATUS             current
        DESCRIPTION        "Card Part Number.  In the IPS 3000 Series, this number
                            reflects the PCA Assembly number."
        ::= { fcswCardEntry 6 }


--
-- Port Table
--

fcswPort OBJECT IDENTIFIER ::= { nishanFCswChassis 13 }

fcswPortTable OBJECT-TYPE
        SYNTAX           SEQUENCE OF FcswPortEntry
        MAX-ACCESS        not-accessible
        STATUS        current
        DESCRIPTION   "Port table"
        ::= { fcswPort 1 }

fcswPortEntry OBJECT-TYPE
        SYNTAX        FcswPortEntry
        MAX-ACCESS        not-accessible
        STATUS        current
        DESCRIPTION   "Entry containing info. for a particular port"
        INDEX         { fcswPortIndex }
        ::= { fcswPortTable 1 }

FcswPortEntry ::= SEQUENCE {
          fcswPortIndex                                 INTEGER,
          fcswPortType                                  INTEGER,
          fcswPortConnectorType                         INTEGER,
          fcswPortAdminStatus                           INTEGER,
          fcswPortOperStatus                            INTEGER,
          fcswPortOperation                             INTEGER,
          fcswPortBeacon                                INTEGER,
          fcswPortName                                  OCTET STRING,
          fcswPortUtilization                           INTEGER,
          fcswAutoNegotiationsAdmin                     INTEGER,
          fcswPortAutoLinkAggregationAdminStatus        INTEGER,
          fcswPortConfiguredSpeed                       INTEGER,
          fcswPortSupportsTCP                           INTEGER,
          fcswPortActualSpeed                           INTEGER
     }

fcswPortIndex OBJECT-TYPE
        SYNTAX        INTEGER (1..32)
        MAX-ACCESS        read-only
        STATUS        current
        DESCRIPTION   "An index value that uniquely identifies a port.
                      This value is similar to ifIndex in MIB2."
        ::= { fcswPortEntry 1 }

fcswPortType OBJECT-TYPE
     SYNTAX       INTEGER {
          other(0),              -- Changed port type from any GIGE types <> any FC types
          g1000basefTrunk(1),    -- Gigabit Ethernet Trunk port
          g1000basef(2),         -- Gigabit Ethernet port
          fcAuto(3),             -- Fibre Channel Auto port
          fcFl(4),               -- Fibre Channle FL port
          fcF(5),                -- Fibre Channel F port
          fcIsl(6),              -- Fibre Channel port for connecting to 3rd party FC switch
          g1000basefL3(7),       -- Gigabit Ethernet L3 Port
          g1000basefTrunkCOS(8), -- Gigabit Ethernet Trunk port with COS
          g1000basefCOS(9),      -- Gigabit Ethernet port with COS
          fcEport(10),           -- E-Port inter-FC switch connection
          g1000iFCP(11),         -- iFCP WAN Link
          g1000iSCSI(12),        -- iSCSI
          g1000TCP(13),          -- iFCP and iSCSI
          g1000iFCPL3(14),       -- iFCP L3 port
          g1000iSCSIL3(15),      -- iSCSI L3 Port
          g1000TCPL3(16),        -- iFCP and iSCSI L3 port
          fcL(17),               -- Fibre Channel private loop
          -- 18                  == reserved for future use
          -- 19                  == reserved for future use
          -- 20                  == reserved for future use
          a100basetTrunk(21),    -- Fast Ethernet Trunk port
          a100baset(22),         -- Fast Ethernet port
          a100basetL3(23),       -- Fast Ethernet L3 Port
          a100basetTrunkCOS(24), -- Fast Ethernet Trunk port with COS
          a100basetCOS(25),      -- Fast Ethernet port with COS
          a100iFCP(26),          -- Fast Ethernet with iFCP WAN Link
          a100iSCSI(27),         -- Fast Ethernet with iSCSI
          a100TCP(28),           -- Fast Ethernet with iFCP and iSCSI
          a100iFCPL3(29),        -- Fast Ethernet with iFCP L3 port
          a100iSCSIL3(30),       -- Fast Ethernet with iSCSI L3 Port
          a100TCPL3(31)          -- Fast Ethernet with iFCP and iSCSI L3
     }
     MAX-ACCESS    read-write
     STATUS        current
     DESCRIPTION
        "Port type which will be used after next reset if this variable is set in NVRAM.

         NOTES:
         1.  Ports do not support both iFCP and iSCSI at this time.  These
             port types will be supported in a future release.
         2.  Fast Ethernet port types with iSCSI or iFCP are supported only on
             the IPS 3350.  The remaining Fast Ethernet port types will be supported
             in a future release."
     ::= { fcswPortEntry 2 }

fcswPortConnectorType OBJECT-TYPE
    SYNTAX        INTEGER {
           empty(0),           -- no connector detected
           fibreSw(1),         -- Short-wave transceiver
           fibreLw(2),         -- Long-wave transceiver
           copperHssdc(3),     -- High Speed Serial Data Connector
           copperRj45(4),      -- RJ45 connector
           other(5),           -- connector type not recognized
           copperHssdc2(6)     -- High Speed Serial Data Connector 2
     }
    MAX-ACCESS    read-only
    STATUS        current
    DESCRIPTION   "Type of connector installed on this port."
    ::= { fcswPortEntry 3 }

fcswPortAdminStatus OBJECT-TYPE
        SYNTAX       INTEGER {
                     enable(1),
                        disable(2)
                      }
        MAX-ACCESS        read-write
        STATUS        current
        DESCRIPTION
            "Used to indicate the administrative status of this port"
        ::= { fcswPortEntry 4 }

fcswPortOperStatus OBJECT-TYPE
        SYNTAX       INTEGER {
                     up(1),
                        down(2),
                        testing(3),
                     other(4) -- Port type has changed from Any GIGE types <> any FC types
                      }
        MAX-ACCESS        read-only
        STATUS        current
        DESCRIPTION   "Used to indicate the operation status of this port"
        ::= { fcswPortEntry 5 }

fcswPortOperation OBJECT-TYPE
     SYNTAX       INTEGER {
          reset(1),
          lipenable(2),
          fairenable(3),
          fairdiable(4)
     }
    MAX-ACCESS        read-write
    STATUS        current
    DESCRIPTION
        "    "
    ::= { fcswPortEntry 6 }

fcswPortBeacon OBJECT-TYPE
     SYNTAX     INTEGER { off(0), on(1) }
     MAX-ACCESS     read-write
     STATUS     current
     DESCRIPTION
         "Turn this on/off to blink the port."
     ::= { fcswPortEntry 7 }

fcswPortName OBJECT-TYPE
     SYNTAX         OCTET STRING (SIZE (0 .. 32))
     MAX-ACCESS     read-write
     STATUS         current
     DESCRIPTION
     "A user-defined name for this port."
     ::= { fcswPortEntry 8 }

fcswPortUtilization OBJECT-TYPE
     SYNTAX         INTEGER (0 .. 2147483647)
     MAX-ACCESS     read-only
     STATUS         current
     DESCRIPTION
"The best estimate of the mean physical layer network utilization on
 this port during the last 5 second sampling interval, in percent. The
 upper 16-bit word contains the TX utilization, while the lower 16-bit
 word contains the RX utilization."
     ::= { fcswPortEntry 9 }

fcswAutoNegotiationsAdmin OBJECT-TYPE
        SYNTAX       INTEGER {
                          notAvailable(0),
                          enable(1),
                          disable(2)
                      }
        MAX-ACCESS        read-write
        STATUS        current
        DESCRIPTION
"Used to enable/disable the auto negotiations to any GiGE ports. It
 will be a read-only object if applied to FC ports and return notAvailable."
        ::= { fcswPortEntry 10 }

fcswPortAutoLinkAggregationAdminStatus  OBJECT-TYPE
        SYNTAX       INTEGER {
                          notAvailable(0),
                          enable(1),
                          disable(2)
                      }
        MAX-ACCESS        read-write
        STATUS        current
        DESCRIPTION
"Used to enable/disable the auto link aggregation to any GiGE ports except
 Gigabit Ethernet L3 Port. It will be a read-only object if applied to
 FC ports or Gigabit Ethernet L3 Port and return notAvailable."
        ::= { fcswPortEntry 11 }

-- Prior to the 4.0 release, this variable was called fcswEthernetPortSpeed
-- and has since been changed to support 2G FC and potential 10G speeds
fcswPortConfiguredSpeed OBJECT-TYPE
        SYNTAX        INTEGER ( 0 .. 10000000 )
        MAX-ACCESS    read-write
        STATUS        current
        DESCRIPTION
"Used to set the port speed (Kbits/s) of Ethernet and Fibre Channel ports.
Ethernet ports support a range from 1500 to 10000000 in multiples of 1500.
For Fibre Channel ports that support 2Gbps speeds, the valid values are 0
to indicate 'auto' mode, 1000000 for 1Gbps or 2000000 for 2Gbps speeds.
If the Fibre Channel port doesn't support 2Gbps speeds, the speed can
only be set to 1Gbps.

NOTE:  2Gbps Fibre Channel is supported only on the IPS5000 series.

Prior to the 4.0 release, this variable was called fcswEthernetPortSpeed
and has since been changed to support 2G FC and potential 10G speeds."
        ::= { fcswPortEntry 12 }

fcswPortSupportsTCP OBJECT-TYPE
        SYNTAX  INTEGER { false(0), true(1) }
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
"Indicates whether this port supports TCP, i.e., whether the port type
can be set to iFCP or iSCSI. Only certain ports on some IP Storage Switch
models support TCP protocols. The value of this variable depends only on
the model and port number, not on the current configuration. "
        ::= { fcswPortEntry 13 }

-- This variable is supported only for IPS 5000 series and IPS 3350 models
fcswPortActualSpeed OBJECT-TYPE
        SYNTAX            INTEGER (1500 .. 10000000)
        MAX-ACCESS        read-only
        STATUS            current
        DESCRIPTION
"The actual speed (Kbits/s) that the port can deliver,
taking into account the speed configured for this port.
For Ethernet ports, the switch adjusts the traffic rate as close
as possible to the configured value, using a multiple of 1500 Kbps.
In the case of Fibre Channel ports that support 2Gbps speeds,
a configured value set to 'auto' will have an actual speed of
either 1 Gbps (1000000) or 2 Gbps (2000000).

Note: This variable is supported only for IPS 5000 series and IPS 3350 models."
        ::= { fcswPortEntry 14 }

--
-- FC Port Table
--

fcswFCPortTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF FcswFCPortEntry
        MAX-ACCESS        not-accessible
        STATUS        current
        DESCRIPTION
"FC Port table"
        ::= { fcswPort 2 }

fcswFCPortEntry OBJECT-TYPE
        SYNTAX        FcswFCPortEntry
        MAX-ACCESS        not-accessible
        STATUS        current
        DESCRIPTION
"Entry containing info. for a particular port"
        INDEX         { fcswFCPortIndex }
        ::= { fcswFCPortTable 1 }

FcswFCPortEntry ::= SEQUENCE {
        fcswFCPortIndex                 INTEGER,
        fcswFCPortRequestNLPortsCur     INTEGER,
        fcswFCPortRTTOVcur              INTEGER,
        fcswFCPortEDTOVcur              INTEGER,
        fcswFCPortRATOVcur              INTEGER,
        fcswFCPortLPTOVcur              INTEGER,
        fcswFCPortBbCreditCur           INTEGER,
        fcswFCPortRequestNLPortsNext    INTEGER,
        fcswFCPortRTTOVnext             INTEGER,
        fcswFCPortEDTOVnext             INTEGER,
        fcswFCPortRATOVnext             INTEGER,
        fcswFCPortLPTOVnext             INTEGER,
        fcswFCPortBbCreditnext          INTEGER
          }

fcswFCPortIndex OBJECT-TYPE
        SYNTAX        INTEGER (1..32)
        MAX-ACCESS        read-only
        STATUS        current
        DESCRIPTION   "An index value that uniquely identifies a port.
                      This value is similar to ifIndex in MIB2."
        ::= { fcswFCPortEntry 1 }

fcswFCPortRequestNLPortsCur OBJECT-TYPE
        SYNTAX        INTEGER (0..125)
        MAX-ACCESS        read-only
        STATUS        current
        DESCRIPTION   "number of FC ports in this FC virtual loop port."
        ::= { fcswFCPortEntry 2 }

fcswFCPortRTTOVcur OBJECT-TYPE
        SYNTAX        INTEGER (1..4095)
        MAX-ACCESS        read-only
        STATUS        current
        DESCRIPTION   "Receiver Transmitter Timeout
                       (in units of thousands of a second)."
        ::= { fcswFCPortEntry 3 }

fcswFCPortEDTOVcur OBJECT-TYPE
        SYNTAX        INTEGER (1..64)
        MAX-ACCESS        read-only
        STATUS        current
        DESCRIPTION  "Error Detect Timeout (in seconds)."
        ::= { fcswFCPortEntry 4 }

fcswFCPortRATOVcur OBJECT-TYPE
        SYNTAX        INTEGER (1..4)
        MAX-ACCESS        read-only
        STATUS        current
        DESCRIPTION  "Resource Allocation Timeout (in seconds)."
        ::= { fcswFCPortEntry 5 }

fcswFCPortLPTOVcur OBJECT-TYPE
        SYNTAX        INTEGER (1..64)
        MAX-ACCESS        read-only
        STATUS        current
        DESCRIPTION  "Loop Timeout (in seconds)."
        ::= { fcswFCPortEntry 6 }

fcswFCPortBbCreditCur OBJECT-TYPE
        SYNTAX        INTEGER (1..64)
        MAX-ACCESS        read-only
        STATUS        current
        DESCRIPTION  "The total number of receive buffers available for
        holding Class 2 or 3 frames from the attached NxPort.  It is for
          buffer-to-buffer flow control in the direction from the attached NxPort
          to FxPort "
        ::= { fcswFCPortEntry 7 }

fcswFCPortRequestNLPortsNext OBJECT-TYPE
        SYNTAX        INTEGER (0..125)
        MAX-ACCESS        read-write
        STATUS        current
        DESCRIPTION   "number of FC ports in this FC virtual loop port.
                           This value will be used in next FC login. NVRAM value."
        ::= { fcswFCPortEntry 8 }

fcswFCPortRTTOVnext OBJECT-TYPE
        SYNTAX        INTEGER (1..4095)
        MAX-ACCESS        read-write
        STATUS        current
        DESCRIPTION   "Receiver Transmitter Timeout
                           This value will be used in next FC login. NVRAM value.
                      (in units of thousands of a second)."
        ::= { fcswFCPortEntry 9 }

fcswFCPortEDTOVnext OBJECT-TYPE
        SYNTAX        INTEGER (1..64)
        MAX-ACCESS        read-write
        STATUS        current
        DESCRIPTION  "Error Detect Timeout
                          This value will be used in next FC login. NVRAM value.
                          (in seconds)."
        ::= { fcswFCPortEntry 10 }

fcswFCPortRATOVnext OBJECT-TYPE
        SYNTAX        INTEGER (1..4)
        MAX-ACCESS        read-write
        STATUS        current
        DESCRIPTION  "Resource Allocation Timeout
                          This value will be used in next FC login. NVRAM value.
                     (in seconds)."
        ::= { fcswFCPortEntry 11 }

fcswFCPortLPTOVnext OBJECT-TYPE
        SYNTAX        INTEGER (1..64)
        MAX-ACCESS        read-write
        STATUS        current
        DESCRIPTION  "Loop Timeout
                          This value will be used in next FC login. NVRAM value.
                          (in seconds)."
        ::= { fcswFCPortEntry 12 }

fcswFCPortBbCreditnext OBJECT-TYPE
        SYNTAX        INTEGER (0..64)
        MAX-ACCESS        read-write
        STATUS        current
        DESCRIPTION  "The total number of receive buffers available for
        holding Class 2 or 3 frames from the attached NxPort.  It is for
          buffer-to-buffer flow control in the direction from the attached NxPort
          to FxPort
          This value will be used in next FC login. NVRAM value."
        ::= { fcswFCPortEntry 13 }


--
--  FC EPort Table
--
-- This table contains parameters specific to "EPorts". EPorts are ports that
-- connect to other vendor's FC switches using an inter-switch protocol.
-- This table only contains rows for ports currently configured as EPorts.
--

fcswEPortTable OBJECT-TYPE
        SYNTAX           SEQUENCE OF FcswEPortEntry
        MAX-ACCESS        not-accessible
        STATUS        current
        DESCRIPTION
"This table contains port parameters specific to EPorts. EPorts are ports that
connect to another vendor's FC switches using an inter-switch protocol.
This table contains one row for each port currently configured as an EPort."
        ::= { fcswPort 3 }

fcswEPortEntry OBJECT-TYPE
        SYNTAX        FcswEPortEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   "Entry containing info. for a particular Eport"
        INDEX      { fcswEPortIndex }
        ::= { fcswEPortTable 1 }

FcswEPortEntry ::= SEQUENCE {
       fcswEPortIndex                                 INTEGER,
       fcswEPortRole                                  INTEGER,
       fcswEPortPreferredDomainID                     INTEGER,
       fcswEPortCurrentDomainID                       INTEGER,
       fcswEPortStatus                                INTEGER,
       fcswEPortPrincipalFabricPortName               WWNtype,
       fcswEPortSoIPZoneSetPolicy                     INTEGER,
       fcswEportMergeFCZone                           INTEGER,
       fcswEportMergeFCZoneStatus                     INTEGER,
       fcswEportPortWWN                               WWNtype,
       fcswEportSwitchInterconnect                    INTEGER,
       fcswEportAllowFcPortZoning                     INTEGER,
       fcswEportFcSanId                               INTEGER,
       fcswEPortZoneSetActionStatus                   INTEGER,
       fcswEPortSoIPZoneCleanup                       INTEGER,
       fcswEPortNeighborEDTOV                         INTEGER,
       fcswEPortNeighborRATOV                         INTEGER,
       fcswEPortErrorMsgString                        OCTET STRING
       }

fcswEPortIndex OBJECT-TYPE
        SYNTAX        INTEGER (1..32)
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
        "An index value that uniquely identifies a port.
        The value is the port number, same as fcswPortIndex."
        ::= { fcswEPortEntry 1 }

fcswEPortRole           OBJECT-TYPE
    SYNTAX     INTEGER {
               principal(1),
               nonprincipal(2)
               }
    MAX-ACCESS          read-only
    STATUS              current
    DESCRIPTION
    "This object identifies the role of EPort. "
    ::= { fcswEPortEntry 2 }

fcswEPortPreferredDomainID   OBJECT-TYPE
    SYNTAX              INTEGER(0..255)
    MAX-ACCESS          read-write
    STATUS              current
    DESCRIPTION
    "DURABLE: { 0xE0:all }
    This object is used to set the EPort Preferred Domain ID. "
    ::= { fcswEPortEntry 3 }

fcswEPortCurrentDomainID         OBJECT-TYPE
    SYNTAX              INTEGER(0..255)
    MAX-ACCESS          read-only
    STATUS              current
    DESCRIPTION
    "This object identifies EPort Current Domain ID. The current domain
    ID is 0 for ports that are not E-ports"
    ::= { fcswEPortEntry 4 }

fcswEPortStatus           OBJECT-TYPE
    SYNTAX           INTEGER {
                      active(1),
                      isolated(2),
                      isolatedAtRemoteEnd(3),
                      error(4)
                     }
    MAX-ACCESS          read-only
    STATUS              current
    DESCRIPTION
    "This object identifies the EPort status. "
    ::= { fcswEPortEntry 5 }

fcswEPortPrincipalFabricPortName      OBJECT-TYPE
    SYNTAX      WWNtype
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
    "This object identifies the Fabric Port Name of the principal eport for the
     given FC SAN Island."
        ::= { fcswEPortEntry 6 }

-- This variable was called fcswEPortMakeSoIPActive in releases prior to 4.0
fcswEPortSoIPZoneSetPolicy       OBJECT-TYPE
    SYNTAX      INTEGER {
                makeSoIPActiveZoneSet(1),
                leaveCurrentZoneSet(2),
                appendSoIPZonesToFcActive(3)
                }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
    "DURABLE: { leaveCurrentZoneSet:all }
     This object determines the action that is taken by Nishan E-Port with the connected FC
     SAN island. If set to MakeSoIPActiveZoneSet, this switch will always force the SoIPZoneset
     on a given island to be the active configuration, otherwise if set to leaveCurrentZoneset
     the current active ZoneSet is not altered.  If set to appendSoIPZonesToFcActive, the SoIP
     zones shall be appended to the active FC zoneset on the FC Island.  If there is no active
     FC zoneset, no append shall occur.

     These actions apply only if the given Eport is Principal.

     Note: This variable was called fcswEPortMakeSoIPActive in releases prior to 4.0
     "
        ::= { fcswEPortEntry 7 }

fcswEportMergeFCZone    OBJECT-TYPE
    SYNTAX       INTEGER {
            performMergeNow(1),
            noMerge(2)
         }
    MAX-ACCESS       read-write
    STATUS           current
    DESCRIPTION
    "This object causes the active zones on an FC island to be added into the
     SoIP zone configuration. All zones added to the SoIP side will be preceded with
     FCSW<PORTID>.  The resulting name will be FCSW<PORTID>_<original zone name>.
     PORTID is defined to be the last three bytes of the MAC address for the given
     Eport.  Note merge only occurs for WWN zoning. Domain, port zoning is not
     merged into the SoIP zone configuration."
         ::= { fcswEPortEntry 8 }

fcswEportMergeFCZoneStatus   OBJECT-TYPE
    SYNTAX       INTEGER {
            mergeCompleted(1),
            mergeFailed(2),
            mergeInProgress(3),
            noMerge(4)
         }
    MAX-ACCESS       read-only
    STATUS           current
    DESCRIPTION
    "This objects shows whether a merge with the FC island has been completed or not."
         ::= { fcswEPortEntry 9 }

fcswEportPortWWN                 OBJECT-TYPE
    SYNTAX      WWNtype
    MAX-ACCESS       read-only
    STATUS           current
    DESCRIPTION
    "This objects is the port WWN for the given Eport."
         ::= { fcswEPortEntry 10 }

fcswEportSwitchInterconnect      OBJECT-TYPE
    SYNTAX      INTEGER  {
                  brocade(1),
                  interoperable(2)
                 }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
    "DURABLE: {1:all}
     This object shows what interoperability mode an Eport operates in.  Note if
     running in interOperable mode Domain Id's are limited to a value between
     hex 61..7F.  InterOperabilty mode defines a mode used by McData, and Brocade
     switches to interconnect to one another."
     DEFVAL {brocade}
         ::= { fcswEPortEntry 11 }

fcswEportAllowFcPortZoning        OBJECT-TYPE
    SYNTAX      INTEGER { allowed(1),
                          disallowed(2) }
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
    "DURABLE: {1:all}
     This object informs Eport to allow or disallow port zoning on a given FC island."
     DEFVAL {allowed}
         ::= { fcswEPortEntry 12 }

fcswEportFcSanId    OBJECT-TYPE
    SYNTAX          INTEGER (1..85)
    MAX-ACCESS      read-write
    STATUS          current
    DESCRIPTION
    "DURABLE: {1:all}
     This object determines the Fibre Channel SAN ID to be used on this eport.  Note all eports
     on the same FC san must have the same Fibre Channel SAN ID. "
     DEFVAL {1}
         ::= { fcswEPortEntry 13 }

-- Following e-port variables are unsupported in 4.0 release and before
fcswEPortSoIPZoneCleanup OBJECT-TYPE
    SYNTAX               INTEGER {
                           noCleanUp(1),
                           removeIpsZoning(2)
                         }
  MAX-ACCESS             read-write
  STATUS                 current
  DESCRIPTION
  "This MIB object is valid only when the fcswEPortSoIPZoneSetPolicy is
   set to leaveCurrentZoneset(2).  Setting this variable to removeIpsZoning(2)
   will remove all IPS Zone Sets, and associated Zones, from the connected
   FC fabric.  If an IPS Zone Set was the active Zone Set, there will no
   longer be an active FC Zone Set."
      ::= {fcswEPortEntry 14}

fcswEPortZoneSetActionStatus     OBJECT-TYPE
    SYNTAX           INTEGER (0..2147483647)
    MAX-ACCESS       read-only
    STATUS           current
    DESCRIPTION
    "This bitmap identifies the status after a SoIP Zone action is taken.

    Following bits represent the status codes which are returned.
    Bit 0 is the least significant bit.
    Bits 0-15  indicate the status of the action.
    Bits 16-31 indicate the information about the configuration.

    Bit       Status
    ---       ------
     0   Configuration matches or appended successfully.
     1   Configuration update in progress.
     2   Configuration mismatches.
     3   Append failed. No active zoneset.
     4   Append zone removal failed.  Last zones in active zoneset.  
     5   Zoning Error Detected.  See fcswEPortErrorMsgString for details. 
    16   Configuration mismatches due to 'Leave Current Zoneset' policy.
    17   Cleanup failed. Not in 'Leave Current Zoneset' policy.
    18   No active FC Zoneset on the FC Switch.
    19   SoIP Zoneset is the active zoneset.
    20   FC Fabric Defined Zoneset is the active zoneset.

    Bits 0-3 are transitional states while applying a policy for this e_port.

    Bit 16 is set when our E_Port is set to 'Leave Current Zoneset' policy and
    the connected FC neighbor has another active FC zoneset.

    Bit 17 is set when the user manually tries to set fcswEPortSoIPZoneCleanup
    variable from the mib when the policy is not set to 'Leave Current Zoneset'.

    Bits 18-20 are useful indications of the configuration on the connected FC
    switch on this e_port.

    All other bits are reserved.
    "
    ::= { fcswEPortEntry 15 }

fcswEPortNeighborEDTOV     OBJECT-TYPE
    SYNTAX           INTEGER (1..2147483)
    MAX-ACCESS       read-only
    STATUS           current
    DESCRIPTION
    "The EDTOV of the connected neighbor in seconds.
     Only valid when port is connected.

     The FC-PH standard defines this value in ms, but to be consistent
     across our mib, we show it in secs."
    ::= { fcswEPortEntry 16 }

fcswEPortNeighborRATOV     OBJECT-TYPE
    SYNTAX           INTEGER (1..2147483)
    MAX-ACCESS       read-only
    STATUS           current
    DESCRIPTION
    "The RATOV of the connected neighbor in seconds.
     Only valid when port is connected.

     The FC-PH standard defines this value in ms, but to be consistent
     across our mib, we show it in secs."
    ::= { fcswEPortEntry 17 }

fcswEPortErrorMsgString     OBJECT-TYPE
    SYNTAX          OCTET STRING(SIZE(0..255))
    MAX-ACCESS      read-only
    STATUS          current
    DESCRIPTION
    "This object is used by EPort to convey any more detailed error information for  
     last error detected for a given EPort."
    ::= { fcswEPortEntry 18 }


--
-- TCP Port Table
--
-- This contains port parameters specific to TCP ports.
-- TCP ports support iFCP or iSCSI or both.
-- This table contains one row for each port currently configured as a TCP port.
--

fcswTCPPortTable OBJECT-TYPE
        SYNTAX        SEQUENCE OF FcswTCPPortEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   "Contains port parameters specific to TCP ports.
TCP ports support iFCP or iSCSI or both. This table contains one row
for each port currently configured as a TCP port."
        ::= { fcswPort 4 }

fcswTCPPortEntry OBJECT-TYPE
        SYNTAX        FcswTCPPortEntry
        MAX-ACCESS    not-accessible
        STATUS        current
        DESCRIPTION   "Entry containing info for a particular TCP port."
        INDEX         { fcswTCPPortIndex }
        ::= { fcswTCPPortTable 1 }

FcswTCPPortEntry ::= SEQUENCE {
        fcswTCPPortIndex                        INTEGER,
        fcswTCPIpAddressCurrent                 IpAddress,
        fcswTCPSubnetMaskCurrent                IpAddress,
        fcswTCPDefaultGatewayAddressCurrent     IpAddress,
        fcswTCPProxyIpAddressCurrent            IpAddress,
        fcswTCPIpAddressOnNextReset             IpAddress,
        fcswTCPSubnetMaskOnNextReset            IpAddress,
        fcswTCPDefaultGatewayAddressOnNextReset IpAddress,
        fcswTCPProxyIpAddressOnNextReset        IpAddress,
        fcswTCPAutoReset                        INTEGER,
        fcswTCPResetNow                         INTEGER,
        fcswTCPOptions                          INTEGER,
        fcswTCPMaxMtuSize                       INTEGER,
        fcswTCPiSCSIOptions                     INTEGER,
        fcswTCPiSCSIFirstBurstLength            INTEGER,
        fcswTCPiSCSIMaxBurstLength              INTEGER,
        fcswTCPiSCSIMaxRecvDataSegmentLength    INTEGER,
        fcswTCPiSNSServerIpAddress              IpAddress,
        fcswTCPCompressionMethod                INTEGER,
        fcswTCPiSCSITargetChapCredential        OCTET STRING
}

fcswTCPPortIndex OBJECT-TYPE
        SYNTAX        INTEGER (1..32)
        MAX-ACCESS    read-only
        STATUS        current
        DESCRIPTION
"An index value that uniquely identifies a port.
The value is the port number, same as fcswPortIndex."
        ::= { fcswTCPPortEntry 1 }


fcswTCPIpAddressCurrent OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
"The IP Address currently in use for this port if the port type is set to
iFCP or iSCSI or both. For other port types the value of this variable is
undefined. For layer 3 UDP ports, the port's current IP address is specified
in the NISHAN-RPRO MIB."
        ::= {fcswTCPPortEntry 2}

fcswTCPSubnetMaskCurrent OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
"The subnet mask currently in use for this port if the port type is set to
iFCP or iSCSI or both. For other port types the value of this variable is
undefined. For layer 3 UDP ports, the port's current subnet mask is specified
in the NISHAN-RPRO MIB."
        ::= {fcswTCPPortEntry 3}

fcswTCPDefaultGatewayAddressCurrent OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION
"The default gateway IP address currently in use for this port if the port type
is set to iFCP or iSCSI or both. For other port types the value of this variable
is undefined. For layer 3 UDP ports, the port's default gateway is specified in
the NISHAN-RPRO MIB.
TCP ports act as end nodes (hosts) attached to the WAN, and therefore may have a
different default gateway than the UDP ports connecting to the local SAN."
        ::= {fcswTCPPortEntry 4}

fcswTCPProxyIpAddressCurrent OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-only
        STATUS          current
        DESCRIPTION
"The TCP proxy IP address currently in use for this port if the port type is
set to iFCP or iSCSI or both. For other port types the value of this variable
is undefined.
The IP Storage Switch represents remote iFCP devices and iSCSI devices on the
local SAN by proxy. The proxy IP address is registered for these devices in
the Storage Name Service. The IP Storage Switch performs address translation
when forwarding traffic from the local UDP SAN to the TCP WAN.
NOTE: The proxy IP address must be in the same IP subnet as the switch address.
The proxy IP address cannot be shared with other TCP ports or other devices."
        ::= {fcswTCPPortEntry 5}

fcswTCPIpAddressOnNextReset OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "DURABLE: { 0:all }
The IP Address to use for this port after the next system reset if the port type
is iFCP or iSCSI or both. If the port type is GE Layer 3, the port's IP address
is specified in the NISHAN-RPRO MIB instead."
        ::= {fcswTCPPortEntry 6}

fcswTCPSubnetMaskOnNextReset OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "DURABLE: { 0:all }
The subnet mask to use for this port after the next system reset if the port type
is iFCP or iSCSI or both. If the port type is GE Layer 3, the port's subnet mask
is specified in the NISHAN-RPRO MIB instead."
        ::= {fcswTCPPortEntry 7}

fcswTCPDefaultGatewayAddressOnNextReset OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "DURABLE: { 0:all }
The default gateway address to use for this port after the next system reset if
the port type is iFCP or iSCSI or both.
TCP ports act as end nodes (hosts) attached to the WAN, and therefore may have a
different default gateway than the UDP ports connecting to the local SAN."
        ::= {fcswTCPPortEntry 8}

fcswTCPProxyIpAddressOnNextReset OBJECT-TYPE
        SYNTAX          IpAddress
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "DURABLE: { 0:all }
The TCP proxy IP address to use for this port after the next reset if the port
type is iFCP or iSCSI or both.
The IP Storage Switch represents remote iFCP devices and iSCSI devices on the
local SAN by proxy. The proxy IP address is registered for these devices in
the Storage Name Service. The IP Storage Switch performs address translation
when forwarding traffic from the local UDP SAN to the TCP WAN.
NOTE: The proxy IP address must be in the same IP subnet as the switch address.
The proxy IP address cannot be shared with other TCP ports or other devices."
        ::= {fcswTCPPortEntry 9}

fcswTCPAutoReset        OBJECT-TYPE
        SYNTAX          INTEGER { enable(1), disable(2) }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "DURABLE: { 1:all }
If AutoReset is enabled, the TCP port resets itself after a fatal error.
If AutoReset is disabled, errors do not force an automatic reset."
        DEFVAL          {enable}
        ::= {fcswTCPPortEntry 10}


fcswTCPResetNow         OBJECT-TYPE
        SYNTAX          INTEGER { reset(1) }
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "
Setting this variable to 1 causes the TCP port to reset itself immediately.
iSCSI and iFCP traffic is interrupted.  The TCP port configuration is
updated to the latest configuration settings.
Reading this variable has no effect, and returns an undefined, meaningless value."
        ::= {fcswTCPPortEntry 11}

fcswTCPOptions          OBJECT-TYPE
        SYNTAX          INTEGER (0..2147483647)
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "DURABLE: { 0:all }
A bitmap representing TCP options for this port.
Bit 0 is the least significant bit.
Setting a bit enables the option.
Current bit assignments are:
    bit 0:    Manual Fast Write
    bit 1:    Auto Fast Write
    bit 2:    Enable Compression
    bit 3:    Automatic Compression
    bit 4:    End-To-End Flow Control
    bit 5:    Enable Jumbo Frames
    bit 6:    Use Manually Configured MTU Size
    bit 7:    Use Min of Discovered MTU or Manual MTU Sizes
    bit 8:    Enable Zone based Scheduling (stream based if clear)
    bit 9:    Enable iSNS Server
    bit 10:   Enable iSNS Client
    bit 11:   Enable SACK (Selective ACK) for iSCSI TCP connections
    bit 12:   Enable SACK (Selective ACK) for iFCP TCP connections
    bits 13-31:   Reserved

Fast Write, also known as WAN Optimization, improves
TCP write performance on long-distance iFCP connections.
Manual Fast Write is always on.  Auto Fast Write adjusts
the TCP performance based on network conditions.  Bits 0 & 1
cannot be set at once.

Auto Fast Write is reserved and will be supported in a future
release.

Manual Fast Write and Auto Fast Write cannot both be set
at once.

Compression On causes all data transmitted out this port to be
compressed.  Compression Auto causes transmitted data to be
compressed only when necessary, depending on traffic rate and
remote link bandwidth.  If neither option is enabled, transmitted
data is not compressed, but compressed data may still be received.
Both Compression On and Compression Auto cannot be enabled at once.
If either option is enabled, the MIB variable fcswTCPCompressionMethod
specifies the compression algorithm.

Enabling jumbo frames lets the TCP port send/receive packets more
than the standard frame sizes.

Use Manually Configured MTU - configures all TCP connections to use
the manually configured MTU, instead of the MTU size discovered
for the connection.
Use Min of Discovered MTU or Manual MTU Sizes - configures TCP
connections to use either the discovered MTU or the manually
configured MTU for the port, whichever is smaller.

If bits 6 & 7 are 0, then auto discovery of the MTU size is used for
communication (which is the default behavior). Bits 6 & 7 cannot be
set at once.

A TCP port can be enabled to be an iSNS Server or an iSNS Client but not both.
Setting bit 9 to 1 will imply that this TCP port is to be configured as an iSNS server.
Setting bit 10 to 1 will imply that this TCP port is to be configured as an iSNS client.

Bits 9 and 10 should not be set at once.

SACK (Selective ACK) allows acknowledgement of non-contiguous sequence numbers
to reduce the amount of retransmitted data when packets are lost.  

Set bit 11 to '1' to enable SACK for iSCSI TCP connections on this port.  
Set bit 11 to '0' to disable SACK for iSCSI TCP connections on this port.
Set bit 12 to '1' to enable SACK for iFCP TCP connections on this port.  
Set bit 12 to '0' to disable SACK for iFCP TCP connections on this port.

SACK is enabled or disabled for both transmit and receive together.  When SACK is
enabled, the TCP port accepts SACKs from remote receivers, and may send SACKs
to remote transmitters that accept SACKs.  When SACK is disabled, the port does not
include the Sack-Permitted option in data sent to a remote receiver, and does not send
SACKs to remote transmitters even if the remote transmitter accepts SACKs.

When SACK is enabled for a port, individual TCP sessions may or may not use SACK
depending on whether the remote end supports SACK.  To check whether a particular
TCP session is using SACK, see the fcswTCPSessionStatsTable.

Reserved bits must be zero when read, and must be
ignored by the agent when set, for future backward
compatibility."
        DEFVAL          { 0 }
        ::= {fcswTCPPortEntry 12}

fcswTCPMaxMtuSize OBJECT-TYPE
  SYNTAX      INTEGER ( 512 .. 4096 )
  MAX-ACCESS  read-write
  STATUS      current
  DESCRIPTION
"The maximum value, in bytes, that can be used for the Maximum
 Transmission Unit (MTU) Size for this TCP Port.  This variable
 can be used to prevent accidental fragmentation, when the Path
 (discovered) MTU value, as returned by paths from/to this port,
 is incorrect.  This size is used only if fcswTCPOptions bits
 Use Manually Configured MTU (6) or Use Min of Discovered MTU or
 Manual MTU sizes (7) are set to 1 and is ignored if auto discovery
 of MTU sizes is enabled."
  DEFVAL      { 1500 }
  ::= { fcswTCPPortEntry 13 }

fcswTCPiSCSIOptions     OBJECT-TYPE
        SYNTAX          INTEGER (0..2147483647)
        MAX-ACCESS      read-write
        STATUS          current
        DESCRIPTION     "DURABLE: { 300:all }
A bitmap representing iSCSI options for this port. This value is
used only if this port is configured for iSCSI.
Bit 0 is the least significant bit.
Setting a bit enables the option.

Current bit assignments are:
    Bits        Attribute           Default
    ----      ---------------       -------
    bit 0:    Reserved              OFF
    bit 1:    Digest                OFF
    bit 2:    InitialR2T            ON
    bit 3:    ImmediateData         ON
    bit 4:    StoreAndForward       OFF
    bit 5:    Big PDU               ON
    bit 6:    READ Padding          OFF
    bit 7:    WRITE Padding         OFF
    bit 8:    Target NOP            ON
    bit 9:    CHAP Authentication   OFF
    bit 10:   CHAP Required         OFF
    bits 11-31:  Reserved           OFF

Reserved bits must be zero when read, and must be
ignored by the agent when set, for future backward
compatibility.

Bit 0: Reserved                         (default OFF)

Not used.

Bit 1: Digest                           (default OFF)

The initiator/target will negotiate if data intregrity is required
during Login. Digests enable the checking of end-to-end,
non-cryptographic data integrity beyond the integrity checks provided
by the link layers and the covering of the whole communication path
including all elements that may change the network level PDUs such
as routers,switches, and proxies.

Bit 2: InitialR2T                       (default ON)

The InitialR2T key is used to turn off the default use of R2T for
unidirectional and the output part of bidirectional commands thus
allowing an initiator to start sending data to a target as if it has
received an initial R2T with Buffer Offset=Immediate Data Length and
Desired Data Transfer Length=(min(FirstBurstLength, Expected Data
Transfer Length) - Received Immediate Data Length).

Bit 3: ImmediateData                     (default ON)

The initiator and target negotiate support for immediate data.
To turn immediate data off, the initiator or target must state its
desire to do so. ImmediateData can be turned on if both the
nitiator and target have ImmediateData=Yes.

Bit 4: Store and Forward                (default OFF)

The target will wait until all the data received from the drive then
deliver it to the initiator.

Bit 5: Big PDU                           (default ON)

The target will send data Header for each data frame.

Bit 6: Read Padding                      (default OFF)

The target will send the padding bytes to the initiator if the initiator
can not handle the underrun data.

Bit 7: Write Padding                     (default OFF)

The target will send the padding bytes to the drive if the initiator do
not pad the underrun data.

Bit 8: Target nop                        (default ON)

The initiator/target will turn on/off sending the NOP packet.

Bit 9: CHAP Authentication               (default OFF)

An iSCSI initiator and target negotiate an authentication
method during login. If bit 9 is off, this port does not
support CHAP authentication.  If bit 9 is on, this port
supports CHAP authentication of an attached iSCSI initiator
when the port is acting as a virtual iSCSI target.

Bit 10: CHAP Required                    (default OFF)

If CHAP Authentication is disabled (bit 9 is off) then
bit 10 has no effect. If CHAP Authentication is enabled
(bit 9 is on), and bit 10 is off, then this port will use
CHAP to authenticate initiators that support CHAP, but will
also accept logins from initiators that don't support CHAP.
If both bits 9 and 10 are on, then this port only accepts
logins from initiators that support CHAP and are successfully
authenticated via CHAP.
"
        DEFVAL          { 300 }
        ::= { fcswTCPPortEntry 14 }

fcswTCPiSCSIFirstBurstLength OBJECT-TYPE
  SYNTAX                     INTEGER ( 8..256 )
  MAX-ACCESS                 read-write
  STATUS                     current
  DESCRIPTION                "DURABLE: { 64:all }
The initiator and target negotiate the maximum amount in bytes of
unsolicited data an iSCSI initiator may send to the target during
the execution of a single SCSI command.

Default is set to 64K but other values could be 8K, 128K and 256K.
This value is used only if this port is configured for iSCSI.
"
  DEFVAL                     { 64 }
  ::= { fcswTCPPortEntry 15 }

fcswTCPiSCSIMaxBurstLength OBJECT-TYPE
  SYNTAX                   INTEGER ( 8..256 )
  MAX-ACCESS               read-write
  STATUS                   current
  DESCRIPTION              "DURABLE: { 256:all }
The initiator and target negotiate maximum SCSI data payload in
bytes in a Data-In or a solicited Data-Out iSCSI sequence.

Default is set to 256K but other values could be 8K, 64K and 128K.
This value is used only if this port is configured for iSCSI.
"
DEFVAL                     { 256 }
  ::= { fcswTCPPortEntry 16 }

fcswTCPiSCSIMaxRecvDataSegmentLength  OBJECT-TYPE
  SYNTAX                              INTEGER ( 8..256 )
  MAX-ACCESS                          read-write
  STATUS                              current
  DESCRIPTION                         "DURABLE: { 64:all }
The initiator or target declares the maximum data segment length in
bytes it can receive in an iSCSI PDU.

Default is set to 64K but other values could be 8K, 128K and 256K.
This value is used only if this port is configured for iSCSI.
"
DEFVAL                                { 64 }
  ::= { fcswTCPPortEntry 17 }

fcswTCPiSNSServerIpAddress  OBJECT-TYPE
        SYNTAX              IpAddress
        MAX-ACCESS          read-write
        STATUS              current
        DESCRIPTION         "DURABLE: { 0:all }
The IP Address of the iSNS server to which this TCP port registers as an iSNS client.
This value is valid only if this port has been configured as an iSNS client by setting
bit 10 of the fcswTcpOptions."
        ::= {fcswTCPPortEntry 18}

fcswTCPCompressionMethod  OBJECT-TYPE
    SYNTAX       INTEGER {
                     lzo(1),
                     lzoWithHistory(2),
                     lzoWithHistoryAndHuffman(3),
                     deflate(4),
                     lzo2ByteWithHistory(5)
                 }
    MAX-ACCESS   read-write
    STATUS       current
    DESCRIPTION  "DURABLE: { 1 }
This MIB variable defines the compression algorithm for iFCP connections
on this port.  This setting is ignored when compression is disabled in
fcswTCPPortOptions.

lzo(1) performs compression on a frame-by-frame basis. This method is best
when there are many active iFCP initiator-target sessions.

lzoWithHistory(2) performs LZO compression with 8KB of history. It provides a
higher compression ratio at the expense of memory.  It works best with few
active iFCP initiator-target sessions, and a T3 or faster remote link.

lzoWithHistoryAndHuffman(3) performs Huffman encoding after the LZO
compression with 8KB of history.  It may provide a higher compression
ratio at the expense of CPU and memory resources.  It also works best with
few active iFCP initiator-target sessions, and a medium-speed remote link.

deflate(4) provides maximum compression, but at the lowest rate. It is best
for T1 links.  The number of active sessions does not matter.

lzo2ByteWithHistory(5) performs LZO compression with history 2 bytes
at a time instead of 1 byte at a time.  Compared to lzoWithHistory,
lzo2ByteWithHistory increases the compression rate at the cost of a
lower compression ratio. It works best with few active iFCP initiator-
target sessions, and a fast remote link.
"
      DEFVAL   {lzo}
      ::= { fcswTCPPortEntry 19 }

fcswTCPiSCSITargetChapCredential     OBJECT-TYPE
     SYNTAX                OCTET STRING (SIZE (0 .. 144))
     MAX-ACCESS            read-write
     STATUS                current
     DESCRIPTION           "DURABLE:
The secret key, in encrypted form, for iSCSI CHAP authentication of this
port's virtual iSCSI initiator by iSCSI targets.  If this port receives
a CHAP challenge from an iSCSI target, this mib variable specifies the
secret key to use in preparing the CHAP response.

For transfer between the management station and switch, the CHAP secret
key is encrypted according to the method described for encrypting user
passwords in RFC 2865 section 5.2.  The first 16 bytes of the MIB
variable value contain the 16-byte random number ('Request Authenticator'
in RFC 2865) used as part of the encryption process.  The remaining
1 - 128 bytes contain the encrypted CHAP secret key, truncated to the
same length as the unencrypted key. The unencrypted CHAP secret key
should be at least 16 bytes long for best security."
     ::= { fcswTCPPortEntry 20 }


fcswChasBrdLeds OBJECT-TYPE
     SYNTAX     DisplayString
     MAX-ACCESS     read-only
     STATUS     current
     DESCRIPTION
          "A character string that contains the values of the
          LEDs for all the ports. Each character represents an LED.
          It starts with management Port's LEDs info, followed
          by the LEDs info of port 1, port 2, etc.  The total
          length will be number of ports times number of LEDs per
          port.  If the LED values are not available, a zero length
           string is returned. The following shows the meaning
          of a character:

            value  meaning
            -----  -------
              0    off
              1    slow blinking
              2    fast blinking
              3    on
          "
     ::= { nishanFCswChassis 14 }

-- =======================================================================
-- TCP Port Compression Statistics Table
-- =======================================================================

fcswTcpCompStatTable OBJECT-TYPE
     SYNTAX                  SEQUENCE OF FcswTcpCompStatEntry
     MAX-ACCESS              not-accessible
     STATUS                  current
     DESCRIPTION
          "A Table that lists the TCP ports and its compression statistics.
in-compression-ratio  = tcpPortDeCompressedIn  / tcpPortCompressedIn
out-compression-ratio = tcpPortDeCompressedOut / tcpPortCompressedOut"
     ::= { fcswPort 5 }

fcswTcpCompStatEntry        OBJECT-TYPE
     SYNTAX                 FcswTcpCompStatEntry
     MAX-ACCESS             not-accessible
     STATUS                 current
     DESCRIPTION            "Comression statistics entries for the tcp ports."
     INDEX                  {fcswTcpPortIndex}
     ::= { fcswTcpCompStatTable 1 }

FcswTcpCompStatEntry ::= SEQUENCE {
    fcswTcpPortIndex           INTEGER,
    fcswTcpPortCompressedIn    Counter32,
    fcswTcpPortCompressedOut   Counter32,
    fcswTcpPortDeCompressedIn  Counter32,
    fcswTcpPortDeCompressedOut Counter32
}

fcswTcpPortIndex            OBJECT-TYPE
        SYNTAX              INTEGER (1..32)
        MAX-ACCESS          read-only
        STATUS              current
        DESCRIPTION
"An index value that uniquely identifies a port.
The value is the port number."
        ::= { fcswTcpCompStatEntry 1 }

fcswTcpPortCompressedIn     OBJECT-TYPE
            SYNTAX          Counter32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
"The total amount of iFCP data received on this TCP Port, before
decompression, in units of 16-byte blocks.

If compression is set to Auto and the port speed is rate-limited,
the received iFCP traffic may be a mix of compressed and uncompressed
data.  This counter's value is the total received iFCP data,
including both the compressed and uncompressed data."
            ::= { fcswTcpCompStatEntry 2 }

fcswTcpPortCompressedOut    OBJECT-TYPE
            SYNTAX          Counter32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
"The total amount of iFCP data transmitted out this TCP port, after
compression, in units of 16-byte blocks.

If compression is set to Auto and the port speed is rate-limited,
the transmitted iFCP traffic may be a mix of compressed and uncompressed
data.  This counter's value is the total transmitted iFCP data,
including both the compressed and uncompressed data."
            ::= { fcswTcpCompStatEntry 3 }

fcswTcpPortDeCompressedIn   OBJECT-TYPE
            SYNTAX          Counter32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
"The total amount of iFCP data received on this TCP Port,
after decompression, in units of 16-byte blocks.

This is the amount of data forwarded to local non-TCP switch ports,
after any compressed data has been decompressed."
            ::= { fcswTcpCompStatEntry 4 }

fcswTcpPortDeCompressedOut  OBJECT-TYPE
            SYNTAX          Counter32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
"The total amount of iFCP data transmitted out this TCP port,
before compression, in units of 16-byte blocks.

This is the amount of data received from local non-TCP switch.ports
to be sent out this TCP port, before the data is compressed."
            ::= { fcswTcpCompStatEntry 5 }

-- =======================================================================
-- TCP Port Storage Statistics Table
--
-- This table contains the storage statistics for the TCP ports. For now,
-- only iFCP traffic is included, but eventually iSCSI will be added as
-- well.
--
-- This table is reserved for future use and is not supported in the Dragon
-- release
-- =======================================================================

fcswTCPStorageStatsTable OBJECT-TYPE
     SYNTAX                  SEQUENCE OF FcswTCPStorageStatsEntry
     MAX-ACCESS              not-accessible
     STATUS                  current
     DESCRIPTION
          "A Table that lists the TCP ports and its storage statistics. For this release
          only iFCP stats are collected."
     ::= { fcswPort 6 }

fcswTCPStorageStatsEntry    OBJECT-TYPE
     SYNTAX                 FcswTCPStorageStatsEntry
     MAX-ACCESS             not-accessible
     STATUS                 current
     DESCRIPTION            "Storage statistics entries for the tcp ports."
     INDEX                  {fcswTCPPortIndex}
     ::= { fcswTCPStorageStatsTable 1 }

FcswTCPStorageStatsEntry ::= SEQUENCE {
    fcswTCPPortReadData          Counter32,
    fcswTCPPortWriteData         Counter32,
    fcswTCPPortIOReads           Counter32,
    fcswTCPPortIOWrites          Counter32,
    fcswTCPPortPendingIOReads    Gauge32,
    fcswTCPPortPendingIOWrites   Gauge32,
    fcswTCPPortAvgReadCmdReqLen  Gauge32,
    fcswTCPPortAvgWriteCmdReqLen Gauge32,
    fcswTCPPortUtil              INTEGER
}

fcswTCPPortReadData      OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
"The total amount of actual READ throughput data (in kbytes) passed through
this TCP Port since it was last initialized."
            ::= { fcswTCPStorageStatsEntry 1 }

fcswTCPPortWriteData     OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
"The total amount of actual WRITE throughput data (in kbytes) passed through
this TCP Port since it was last initialized. "
            ::= { fcswTCPStorageStatsEntry 2 }

fcswTCPPortIOReads        OBJECT-TYPE
            SYNTAX        Counter32
            MAX-ACCESS    read-only
            STATUS        current
            DESCRIPTION
"The total amount of IO READ operations (commands) passed through this TCP Port."
            ::= { fcswTCPStorageStatsEntry 3 }

fcswTCPPortIOWrites        OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
"The total amount of IO Write operations (commands) passed through this TCP Port."
            ::= { fcswTCPStorageStatsEntry 4 }

fcswTCPPortPendingIOReads   OBJECT-TYPE
            SYNTAX          Gauge32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
"The number of outstanding IO READ operations on this TCP port. i.e. the number of
READ operations that haven't completed yet."
            ::= { fcswTCPStorageStatsEntry 5 }

fcswTCPPortPendingIOWrites  OBJECT-TYPE
            SYNTAX          Gauge32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
"The number of outstanding IO WRITE operations on this TCP port. i.e. the number of
WRITE operations that haven't completed yet."
            ::= { fcswTCPStorageStatsEntry 6 }

fcswTCPPortAvgReadCmdReqLen OBJECT-TYPE
            SYNTAX          Gauge32
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
"The READ command request length (in bytes) for this TCP port averaged
over the last 5 secs."
            ::= { fcswTCPStorageStatsEntry 7 }

fcswTCPPortAvgWriteCmdReqLen  OBJECT-TYPE
            SYNTAX            Gauge32
            MAX-ACCESS        read-only
            STATUS            current
            DESCRIPTION
"The WRITE command request length (in bytes) for this TCP port averaged
over the last 5 secs."
            ::= { fcswTCPStorageStatsEntry 8 }

fcswTCPPortUtil             OBJECT-TYPE
            SYNTAX          INTEGER (1..100)
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
"A percentage value from 1-100 which provides the user a high level metric that
shows how busy the switch is because of the traffic on this TCP port. This could
include Q lengths, buffers available, etc."
            ::= { fcswTCPStorageStatsEntry 9 }

-- =======================================================================
-- TCP Port Sessions Table
--
-- This table lists all the tcp sessions (initiator/target connections) for
-- switch indexed by the TCP port and the port names of the devices.
--
-- This table is reserved for future use and is not supported in the Dragon
-- release
-- =======================================================================
fcswNumOfTCPSessions        OBJECT-TYPE
            SYNTAX          INTEGER (0..2147483647)
            MAX-ACCESS      read-only
            STATUS          current
            DESCRIPTION
"The number of ongoing TCP sessions on this switch."
            ::= { fcswPort 7 }

fcswTCPSessionsTable OBJECT-TYPE
     SYNTAX                  SEQUENCE OF FcswTCPSessionsEntry
     MAX-ACCESS              not-accessible
     STATUS                  current
     DESCRIPTION
          "A Table that lists the sessions (initiator-target connections) for the TCP ports.
          To start traffic-statistics collection for an active session, the user could create
          a corresponding row with the same indices in the fcswTCPSessionStatsTable table.
          When a session gets disconnected, the statistics collection is stopped and the row
          removed from fcswTCPSessionsTable and fcswTCPSessionStatsTable table."
     ::= { fcswPort 8 }

fcswTCPSessionsEntry    OBJECT-TYPE
     SYNTAX             FcswTCPSessionsEntry
     MAX-ACCESS         not-accessible
     STATUS             current
     DESCRIPTION        "Session entries for the tcp ports."
     INDEX              {fcswTCPPortIndex, fcswTCPSessionInitWwn, fcswTCPSessionTargetWwn}
     ::= { fcswTCPSessionsTable 1 }

FcswTCPSessionsEntry ::= SEQUENCE {
    fcswTCPSessionInitWwn              WWNtype,
    fcswTCPSessionTargetWwn            WWNtype,
    fcswTCPSessionRemoteGwAddressType  InetAddressType,
    fcswTCPSessionRemoteGwIpAddress    InetAddress
}

fcswTCPSessionInitWwn    OBJECT-TYPE
            SYNTAX       WWNtype
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
"The port wwn of the initiator (the N_Port) as registered in the fcswNsPortTable
for this tcp session."
            ::= { fcswTCPSessionsEntry 1 }

fcswTCPSessionTargetWwn  OBJECT-TYPE
            SYNTAX       WWNtype
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
"The port wwn of the target (the N_Port) as registered in the fcswNsPortTable
for this tcp session."
            ::= { fcswTCPSessionsEntry 2 }

fcswTCPSessionRemoteGwAddressType OBJECT-TYPE
    SYNTAX                        InetAddressType
    MAX-ACCESS                    read-only
    STATUS                        current
    DESCRIPTION
"The address type for the remote gateway to which this session is connected. "
            ::= { fcswTCPSessionsEntry 3 }

fcswTCPSessionRemoteGwIpAddress   OBJECT-TYPE
            SYNTAX                InetAddress
            MAX-ACCESS            read-only
            STATUS                current
            DESCRIPTION
"The IP address of the remote gateway to which this session is connected."
            ::= { fcswTCPSessionsEntry 4 }

-- =======================================================================
-- TCP Sessions Storage Statistics Table
--
-- This table lists the sessions for which storage statistics are being
-- collected for.
--
-- This table is reserved for future use and is not supported in the Dragon
-- release
-- =======================================================================

fcswTCPSessionStatsTable OBJECT-TYPE
     SYNTAX              SEQUENCE OF FcswTCPSessionStatsEntry
     MAX-ACCESS          not-accessible
     STATUS              current
     DESCRIPTION
          "A Table that lists sessions and its storage statistics. To start statistics
          collection for a session, create a row in this table with the corresponding
          indices from fcswTCPSessionsTable table.

          For ex. if you want to start traffic collection for a session between

          initiator i1-wwn and target t1-wwn on port 7, then

          set fcswTCPSessionRowStatus to active with indices 7.i1-wwn.t1-wwn. To stop the
          statistics collection, then set fcswTCPSessionRowStatus to destroy.

          To get the remote peer statistics, please look at rmtPeerTable in the NISHAN-GTWY.mib"
     ::= { fcswPort 9 }

fcswTCPSessionStatsEntry OBJECT-TYPE
     SYNTAX              FcswTCPSessionStatsEntry
     MAX-ACCESS          not-accessible
     STATUS              current
     DESCRIPTION         "Session storage statistics entries."
     INDEX               {fcswTCPPortIndex, fcswTCPSessionInitWwn, fcswTCPSessionTargetWwn }
     ::= { fcswTCPSessionStatsTable 1 }

FcswTCPSessionStatsEntry ::= SEQUENCE {
    fcswTCPSessionReadData          Counter32,
    fcswTCPSessionWriteData         Counter32,
    fcswTCPSessionIOReads           Counter32,
    fcswTCPSessionIOWrites          Counter32,
    fcswTCPSessionPendingIOReads    Gauge32,
    fcswTCPSessionPendingIOWrites   Gauge32,
    fcswTCPSessionAvgReadCmdReqLen  Gauge32,
    fcswTCPSessionAvgWriteCmdReqLen Gauge32,
    fcswTCPSessionRowStatus         RowStatus
}

fcswTCPSessionReadData  OBJECT-TYPE
            SYNTAX       Counter32
            MAX-ACCESS   read-only
            STATUS       current
            DESCRIPTION
"The total amount of actual READ throughput data (in kbytes) passed through
since this session was first initialized."
            ::= { fcswTCPSessionStatsEntry 1 }

fcswTCPSessionWriteData  OBJECT-TYPE
            SYNTAX        Counter32
            MAX-ACCESS    read-only
            STATUS        current
            DESCRIPTION
"The total amount of actual WRITE throughput data (in kbytes) passed through
since this session was first initialized."
            ::= { fcswTCPSessionStatsEntry 2 }

fcswTCPSessionIOReads     OBJECT-TYPE
            SYNTAX        Counter32
            MAX-ACCESS    read-only
            STATUS        current
            DESCRIPTION
"The total number of IO READ operations (commands) for this TCP session."
            ::= { fcswTCPSessionStatsEntry 3 }

fcswTCPSessionIOWrites     OBJECT-TYPE
            SYNTAX         Counter32
            MAX-ACCESS     read-only
            STATUS         current
            DESCRIPTION
"The total number of IO WRITE operations (commands) for this TCP session."
            ::= { fcswTCPSessionStatsEntry 4 }

fcswTCPSessionPendingIOReads  OBJECT-TYPE
            SYNTAX            Gauge32
            MAX-ACCESS        read-only
            STATUS            current
            DESCRIPTION
"The number of outstanding IO READ operations for this TCP session. i.e. the
number of READ operations that haven't been completed or processed."
            ::= { fcswTCPSessionStatsEntry 5 }

fcswTCPSessionPendingIOWrites OBJECT-TYPE
            SYNTAX            Gauge32
            MAX-ACCESS        read-only
            STATUS            current
            DESCRIPTION
"The number of outstanding IO WRITE operations for this TCP session i.e. the
number of WRITE operations that haven't been completed or processed."
            ::= { fcswTCPSessionStatsEntry 6 }

fcswTCPSessionAvgReadCmdReqLen OBJECT-TYPE
            SYNTAX             Gauge32
            MAX-ACCESS         read-only
            STATUS             current
            DESCRIPTION
"The READ command request length (in bytes) for this TCP session
averaged over the last 5 secs."
            ::= { fcswTCPSessionStatsEntry 7 }

fcswTCPSessionAvgWriteCmdReqLen OBJECT-TYPE
            SYNTAX              Gauge32
            MAX-ACCESS          read-only
            STATUS              current
            DESCRIPTION
"The WRITE command request length (in bytes) for this TCP session
averaged over the last 5 secs."
            ::= { fcswTCPSessionStatsEntry 8 }

fcswTCPSessionRowStatus  OBJECT-TYPE
    SYNTAX               RowStatus
    MAX-ACCESS           read-create
    STATUS               current
    DESCRIPTION
"This object indicates the status of this entry.
         active (1),         read-write
         notInService (2),   read-write
         notReady (3),       read-only
         createAndGo (4),    write-only
         createAndWait (5),  write-only
         destroy (6),        write-only"
    ::= { fcswTCPSessionStatsEntry 9 }

-- =======================================================================
-- Link Aggregation
-- =======================================================================
-- This section is supported on IPS Series 3000/4000/5000 switches.

nishanLinkAggr     OBJECT IDENTIFIER ::=  {  nishanMgmt 10  }


laAggMaxPorts OBJECT-TYPE
     SYNTAX INTEGER (0 .. 255)
     MAX-ACCESS read-only
     STATUS current
     DESCRIPTION
          "Maximum number of ports per aggregator."
     ::= {nishanLinkAggr 1}

laMaxAggs OBJECT-TYPE
     SYNTAX INTEGER (0 .. 255)
     MAX-ACCESS read-only
     STATUS current
     DESCRIPTION
          "Maximum number of aggregators per system."
     ::= {nishanLinkAggr 2}

laConfiguredAggs OBJECT-TYPE
     SYNTAX INTEGER (0 .. 255)
     MAX-ACCESS read-only
     STATUS current
     DESCRIPTION
          "Number of current aggregators that have
          been configured with ports."
     ::= {nishanLinkAggr 3}

laAggWaitTime OBJECT-TYPE
     SYNTAX INTEGER (0..65000)
     MAX-ACCESS read-write
     STATUS current
     DESCRIPTION
          "DURABLE: { 500 }
          Wait time (in miliseconds) before starting conversation on another
          port. This is used if LACP and marker/responder are not
          implemented, and on port failure."
     ::= {nishanLinkAggr 4}

laAggTable OBJECT-TYPE
     SYNTAX      SEQUENCE OF LaAggEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION
          "A Table which has list of Aggregators and its members."
     ::= {nishanLinkAggr 5}

laAggEntry OBJECT-TYPE
     SYNTAX LaAggEntry
     MAX-ACCESS not-accessible
     STATUS current
     DESCRIPTION
          "Configuration information for an aggregator configured
          into the device by (local or network) management."
     INDEX   {laAggId}
     ::= {laAggTable 1}

LaAggEntry ::=
     SEQUENCE {
          laAggId
               INTEGER,
          laAggMACAddr
               MacAddress,
          laAggPortStatus
               Integer32,
          laAggAdminStatus
               INTEGER,
          laAggOperStatus
               INTEGER,
          laPhysPortList
               INTEGER,
          laAggName
               DisplayString
     }

laAggId OBJECT-TYPE
     SYNTAX INTEGER (0 .. 255)
     MAX-ACCESS read-only
     STATUS current
     DESCRIPTION
          "The ID that refers to this aggregator."
     ::= {laAggEntry 1}

laAggMACAddr OBJECT-TYPE
     SYNTAX MacAddress
     MAX-ACCESS read-only
     STATUS current
     DESCRIPTION
          "The MAC address of this aggregator."
     ::= {laAggEntry 2}

laAggPortStatus OBJECT-TYPE
-- Range removed to avoid MIB compiler errors.
-- This should be an Unsigned32 or an octet string, but the agent returns an INTEGER.
--   SYNTAX         INTEGER (0 .. 4294967295)
     SYNTAX         Integer32
     MAX-ACCESS read-only
     STATUS current
     DESCRIPTION
          "A bitmap that describes the status of the ports
          that are bound to this aggregator.  This bitmap
            will be mapped to an integer in the form of 2^x
            where x is the position of the bit being set.
            For example, an aggregator has Port 1,2 3 and 4 as members
            and to specify that Port 2 and Port 3 are down while port 1 and port 4 are up
            then we would have the value of xxxx1001(binary) 2^3 + 2^0 = 9.
          "
     ::= {laAggEntry 3}

laAggAdminStatus OBJECT-TYPE
     SYNTAX INTEGER {
               enable(1),
               disable(2),
               delete(3)
               }
     MAX-ACCESS read-create
     STATUS current
     DESCRIPTION
          "The administrative status of this aggregator. In order to delete an
          aggregator completely one should set delete option."
     ::= {laAggEntry 4}

laAggOperStatus OBJECT-TYPE
     SYNTAX INTEGER {
               up(1),
               down(2)
               }
     MAX-ACCESS read-only
     STATUS current
     DESCRIPTION
          "The operation status of this aggregator."
     ::= {laAggEntry 5}

laPhysPortList OBJECT-TYPE
     SYNTAX INTEGER (0..2147483647)
     MAX-ACCESS read-create
     STATUS current
     DESCRIPTION
          "A bitmap that specifies the list of ports
          that are bound to this aggregator.  See the
            portStatus above in the table to see how this
            bitmap is mapped to an integer value."
     ::= {laAggEntry 6}


laAggName OBJECT-TYPE
     SYNTAX DisplayString
     MAX-ACCESS read-create
     STATUS current
     DESCRIPTION
         "The symbolic name for this aggregator."
     ::= { laAggEntry 7 }


laAggAutoMode OBJECT-TYPE
     SYNTAX INTEGER {
               enable(1),
               disable(2)
               }
     MAX-ACCESS read-create
     STATUS current
     DESCRIPTION
          "DURABLE: { enable }
          enable/disable Link Aggregation auto detect mode."
     ::= {nishanLinkAggr 6}



END